[英]Binary Search on a 2D array
我有一个完全排序的2D数组。 下面的数组是示例
1 2 3
5 6 7
9 10 11
和
1 2 3 4 5
6 7 8 9 10
我想在这些数组上使用二进制搜索。 设rows
为行数, cols
为列数
最初start = 0
, end = rows * cols -1
在上面的3 X 3数组中,中点算出为四个[9个元素]。 现在如何找出带有中点的相应行和列? 有任何标准公式吗?
公式很简单:
row = number/cols_per_row;
col = number%cols_per_row;
设size = rows * cols
mid = size // 2
(整数除法)
row = mid // cols
col = mid % cols
(其余为整数除法)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.