二分法查找二维数组
二维数组中的查找
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; } }
字节算法题解 文章被收录于专栏
最近在刷字节的题库!! 春招给我冲!!!