在杨氏矩阵中判断一个数是否存在
来源:互联网 发布:广东人狐臭 知乎 编辑:程序博客网 时间:2024/04/26 04:05
杨氏矩阵是一个二位数组,这个数组无论横向纵向都是递增的。
比如数组
1 4 7
2 5 8
3 6 9
要想时间复杂度小于o(n)就不能遍历整个数组,其实只需判断这个i行j列的数组的arr[i-1][j-1]是否等于要找的数,如果大于要找的数,说明要找的数一定在该数的左下方。如果小于要找的数,说明要找的数一定在该数的下方。
实现代码如下
#include<stdio.h> //(markdown bug)#include<stdlib.h>int find_it(int arr[3][3], int key){ int i = 0; int j = 2; while (i < 3 && j >= 0) { if (key == arr[i][j]) { return 1; } else if (key > arr[i][j]) { i++; } else if (key < arr[i][j]) { j--; } } return 0;}int main(){ int arr[3][3] = { {1,4,7},{2,5,8},{3,6,9} }; int sz = sizeof(arr) / sizeof(arr[0][0]); int key = 5; int t =find_it(arr, key); if (t == 0) printf("no"); else if(t ==1) printf("yes"); system("pause"); return 0;}
阅读全文
0 0
- 在杨氏矩阵中判断一个数是否存在
- 查找矩阵中是否存在一个数
- 判断一个数是否存在一个数组中
- 74. Search a 2D Matrix--判断一个数是否在一个矩阵中
- 在杨氏矩阵中判断是否有自己想要的数
- php判断一个参数在一个数组中是否存在
- 判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。(回溯法)
- 在SQL中判断一个表是否存在
- 在SQL中判断一个表是否存在
- js 判断一个元素是否在页面中存在
- 如何判断一个字符串是否在list集合中存在!
- 在java中如何判断一个类是否存在
- 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都按照从左到右的递增的顺序排序,输入这样的一个数组和一个数,判断数组中是否包含这个数
- 判断二维矩阵中是否存在连续四个相同的数
- day12之判断一棵二叉树是否是平衡二叉树+求一颗二叉树的镜像+判断一个数在二维数组中是否存在
- 判断平衡二叉树/二叉树镜像/一个m*n的矩阵,从左到右从上到下都是递增的,给一个数x,判断x是否在矩阵中
- 求一个从左到右从上到下矩阵中,寻找一个给定的数是否存在
- 判断一个数字是否在升序矩阵中
- A. Two Semiknights Meet----思维题
- leetcode--Roman to Integer
- nginx服务的搭建
- bitbucket设置秘钥(避免输入密码)
- 1000亿以内的素数统计(Meisell-Lehmer算法)
- 在杨氏矩阵中判断一个数是否存在
- [MSYS]另类busybox调用/安装方法
- leetcode--Integer to Roman
- 网络——DHCP
- 《gradle 用户指南》中文版 第4章 使用Gradle命令行
- 用位运算实现加法和减法
- spring taskExecutor redis redisMessageListenerContailner线程优化
- 采购订单打印
- leetcode--Find Peak Element