java - 二维数组上的二进制搜索

标签 java arrays algorithm binary-search

我有一个完全排序的二维数组。下面的数组就是例子

    1  2  3  
    5  6  7  
    9 10 11 

    1  2  3  4  5
    6  7  8  9  10

我想对这些数组使用二进制搜索。设 rows 为行数,cols 为列数

最初 start = 0end = rows * cols -1

在上面的 3 X 3 数组中,中点计算为四个 [9 个元素]。现在如何找出中点对应的行和列?是否有任何标准公式?

最佳答案

公式很简单:

row = number/cols_per_row;
col = number%cols_per_row;

关于java - 二维数组上的二进制搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15109282/

相关文章:

java - 添加第二列与第一列中的重复元素

python - 欧拉计划没有。 17 - 简化 Python

C++:构造函数中的多维数组初始化

c - 如何检查数组的内容?

c - fgets 在另一个函数中,sizeof 总是 8

algorithm - 使用 BIT 计算反转

寻找最佳组合的算法

java - 在 Java/C# 中设置/获取系统时间

java - 如何通过 Java 身份验证连接到 Cassandra 5.1

java - LinearLayout addView 只添加一个 View