剑指Offer之1384:二维数组中的查找
来源:互联网 发布:网络工程施工规范 编辑:程序博客网 时间:2024/05/22 08:18
/********************************** 日期:2013-10-11* 作者:SJF0115* 题号: 九度OJ 题目1384:二维数组中的查找* 来源:http://ac.jobdu.com/problem.php?pid=1384* 结果:AC* 来源:剑指Offer* 总结:**********************************/#include<stdio.h>#define N 1001int Matrix[N][N];int Find(int Matrix[N][N],int m,int n,int t){//从矩阵的右上角查起int row = 0;int col = n - 1;while(row < m && col >= 0){int number = Matrix[row][col];//如果该数字等于要查找的数据,查找过程结束if(number == t){return 1;}//如果该数字小于要查找的数据,查找的数据肯定在该数据的下方,即剔除这个数据所在的行else if(number < t){row++;}//如果该数字大于要查找的数据,查找的数据肯定在该数据的左方,即剔除这个数据所在的列else{col--;}}return 0;}int main(){int m,n,t,i,j;while(scanf("%d %d",&m,&n) != EOF){scanf("%d",&t);//输入矩阵for(i = 0;i < m;i++){for(j = 0;j < n;j++){scanf("%d",&Matrix[i][j]);}}//查找数据int result = Find(Matrix,m,n,t);if(result == 1){printf("Yes\n");}else{printf("No\n");}}return 0;}
【分析】
【第二种方法】
此题考查的主要是第一种方法的解题思路。
#include<stdio.h>int main(){ int i,j,m,n,t,number,flag; while (scanf("%d %d",&m, &n) != EOF) { flag = 0; scanf("%d",&t); for(i = 0; i < m; i++) for(j = 0; j < n; j++) { scanf("%d",&number); if(t == number) { flag = 1; } } if(flag == 1) { printf("Yes\n"); } else { printf("No\n"); } } return 0;}
- 剑指offer之二维数组中的查找
- 剑指Offer之二维数组中的查找
- 剑指Offer之 - 二维数组中的查找
- 剑指offer之二维数组中的查找
- 【剑指offer之二维数组中的查找 】
- 剑指offer之二维数组中的查找
- 剑指offer之二维数组中的查找
- 剑指Offer之1384:二维数组中的查找
- 剑指offer 1384 二维数组中的查找
- [剑指offer-1384] 二维数组中的查找
- 剑指Offer算法实现之三:二维数组中的查找
- 剑指offer面试题3之二维数组中的查找
- 剑指offer系列之1:二维数组中的查找
- 剑指offer(三)之二维数组中的查找
- 剑指offer之面试题3:二维数组中的查找
- [剑指offer学习心得]之:二维数组中的查找
- 剑指Offer之面试题3:二维数组中的查找
- (一)剑指Offer之二维数组中的查找
- 让两个Div并排显示
- GIS-判断点是否落在指点的多边形区域内
- Android 无cp命令 mv引起cross-device link
- Android中java.lang.NoClassDefFoundError
- 常见的证书格式和相互转换
- 剑指Offer之1384:二维数组中的查找
- Android反编译详解
- ORACLE GROUPING_ID函数
- eclipse插件的快速安装与删除
- pdf转word工具内含注册码【pdf转word】
- 斗地主算法的设计与实现(五)--洗牌和发牌
- JBPM 学习笔记(一) Hello JBMP
- 转载和积累系列 - eclispce 常用快捷键
- [概率]Cut the Cake