二维数组中是否存在某个数

【二维数组中是否存在某个数】有一个二维数组.
数组的每行从左到右是递增的,每列从上到下是递增的.
在这样的数组中查找一个数字是否存在。
时间复杂度小于O(N);

#include #include int findnum(int arr[][3], int x, int y, int f) { int i, j; for (i = 0, j = x - 1; i < y&&j >= 0; ) { if (arr[i][j] < f) { i++; } else if (arr[i][j] > f) { j--; } else { return 1; } } return 0; } int main() { int arr[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; if (findnum(arr, 3, 3, 10)) { printf("找到了\n"); } else { printf("没找到\n"); } system("pause"); return 0; }

    推荐阅读