有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。

要求:时间复杂度小于O(N)

void find_k(int arr[3][3], int k, int r, int c) { 	int x = 0; 	int y = c - 1; 	while (x<r && y>=0) { 		if (arr[x][y] < k) 		{ 			x++; 		} 		else if (arr[x][y] > k) 		{ 			y--; 		} 		else 		{ 			printf("找到了,下标是:%d %d\n", x, y); 			return; 		} 	} 	printf("找不到\n"); } int main() {   	int arr[3][3] = {1,2,3,4,5,6,7,8,9}; 	int k = 3; 	find_k(arr, k, 3, 3); 	return 0;   }