二维数组中是否存在某个数
【二维数组中是否存在某个数】有一个二维数组.
数组的每行从左到右是递增的,每列从上到下是递增的.
在这样的数组中查找一个数字是否存在。
时间复杂度小于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;
}
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募
- 2020-04-07vue中Axios的封装和API接口的管理