- 该二维数组行列有序,可使用排除思想
- 从右上角开始,该值为行最大值,列最小值
- target与之比较,如果找更小值就去行找,所在列全部排除,更大值就去列找,所在行全部排除
public class Solution { public boolean Find(int target, int [][] array) { int i = 0, j = array[0].length - 1; // 右上角开始,行最大值,列最小值 while(i < array.length && j >= 0) { // target小于比较值,就说明不会在该值所在列及右侧 if(array[i][j] > target) { j--; // target大于比较值,就说明不会在该值所在行及上侧 } else if(array[i][j] < target){ i++; } else { return true; } } return false; } }