二维数据查找,可以看成一个网格,一次循环排除一行或一列,所以要从右上或者左下开始,此题以右上开始举例。
public boolean find(int target, int[][] array) {
int outLength = array.length;
int intLength = array[0].length;
int i = 0;
int j = intLength - 1;
while (i < outLength && j >= 0) {
if (array[i][j] == target)
return true;
else if (array[i][j] > target)
j--;
else
i++;
}
return false;
}

京公网安备 11010502036488号