要求:时间复杂度小于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; }