思路:从左下角/右上角开始遍历,每走一步就可以剔除一行或者一列。
复杂度:O(m+n)
public class Solution {
public boolean Find(int target, int[][] array) {
if (array == null) {
return false;
}
int m = array.length;
int n = array[0].length;
int i = 0, j = n - 1;
while (i < m && j >= 0) {
if (target == array[i][j]) {
return true;
} else if (target > array[i][j]) {
i++;
} else {
j--;
}
}
return false;
}
}
京公网安备 11010502036488号