二分法查找二维数组
二维数组中的查找
http://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e
可以将初始值定在右上角或者是左下角。
这样的时间复杂度为 O(m+n)
public class Solution {
public boolean Find(int target, int [][] array) {
int m = array.length;
if(m == 0)
return false;
int n = array[0].length;
if(n == 0)
return false;
int r = 0, c = n - 1;
while(r < m && c >= 0){
if(target == array[r][c])
return true;
else if(target > array[r][c])
r++;
else if(target < array[r][c])
c--;
}
return false;
}
}字节算法题解 文章被收录于专栏
最近在刷字节的题库!! 春招给我冲!!!
