【题目】 给定一个有N*M的整型矩阵matrix和一个整数K, matrix的每一行和每一 列都是排好序的。实现一个函数,判断K 是否在matrix中。
例如: 0 1 2 5 2 3 4 7 4 4 4 8 5 7 7 9 如果K为7,返回true;
如果K为6,返 回false。
【要求】 时间复杂度为O(N+M),额外空间复杂度为O(1)。
public static boolean findNum(int[][] arr, int num) {
int row = arr.length;
int column = arr[0].length;
int i = 0;
int j = column - 1;
boolean flag = false;
while (i <= row - 1 && j >= 0) {
if (arr[i][j] == num) {
flag = true;
break;
} else if (arr[i][j] > num) {
j--;
} else
i++;
}
return flag;
}