杨氏矩阵
从左到右增加
从上到下增加
思路:
代码:
#include<stdio.h>
int findNum(int(*arr)[3], int x, int y, int k) {
int i = 0;
int j = y - 1;
while (i<x&&j>=0) {
if (arr[i][j] > k) {
j--;
}
else if (arr[i][j] < k) {
i++;
}
else {
return 1;
}
}
return 0;
}
int main() {
int arr[][3] = { {1,2,3},{4,5,6},{7,8,9} };
int ret = findNum(arr, 3, 3, 4);
printf("%d\n", ret);
return 0;
}
思路2:
加入一个flag变量