二维数组中的查找
2015-11-26 19:12
281 查看
题目描述:
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
输入:
输入可能包含多个测试样例,对于每个测试案例,
输入的第一行为两个整数m和n(1<=m,n<=1000):代表将要输入的矩阵的行数和列数。
输入的第二行包括一个整数t(1<=t<=1000000):代表要查找的数字。
接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(矩阵如题目描述所示,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
输出:
对应每个测试案例,
输出”Yes”代表在二维数组中找到了数字t。
输出”No”代表在二维数组中没有找到数字t。
样例输入:
3 3
5
1 2 3
4 5 6
7 8 9
3 3
1
2 3 4
5 6 7
8 9 10
3 3
12
2 3 4
5 6 7
8 9 10
样例输出:
Yes
No
No
算法描述
从右上角开始判断,从右到左,从上到下。
如果比t小,则下移一行;
如果比t大,则左移一列;
如果和t相等,返回true
搜索完,没有返回值,则返回false。
由于有多个测试案例输入,所以在main函数里面加入
while(scanf(“%d%d”,&m, &n) !=EOF)
当m和n都被成功读入,scanf的返回值为2;
当只有a被成功读入,scanf的返回值为1;
当a和b都没有被读入,scanf的返回值为0;
如果遇到错误或者遇到end of file,返回值为EOF
C++中可用while(cin>>m>>n)代替
测试结果
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
输入:
输入可能包含多个测试样例,对于每个测试案例,
输入的第一行为两个整数m和n(1<=m,n<=1000):代表将要输入的矩阵的行数和列数。
输入的第二行包括一个整数t(1<=t<=1000000):代表要查找的数字。
接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(矩阵如题目描述所示,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
输出:
对应每个测试案例,
输出”Yes”代表在二维数组中找到了数字t。
输出”No”代表在二维数组中没有找到数字t。
样例输入:
3 3
5
1 2 3
4 5 6
7 8 9
3 3
1
2 3 4
5 6 7
8 9 10
3 3
12
2 3 4
5 6 7
8 9 10
样例输出:
Yes
No
No
算法描述
从右上角开始判断,从右到左,从上到下。
如果比t小,则下移一行;
如果比t大,则左移一列;
如果和t相等,返回true
搜索完,没有返回值,则返回false。
bool Search_array(int m,int n,int t) { int i,j; i=0; //起始为0行 j=n-1; //起始为末列 while(j>=0 && i<m) //最后为m行0列 if(t==a[i][j]) return 1; else if(t<a[i][j]) j--;//减少一列 else i++; //减少一行 return 0; }
由于有多个测试案例输入,所以在main函数里面加入
while(scanf(“%d%d”,&m, &n) !=EOF)
当m和n都被成功读入,scanf的返回值为2;
当只有a被成功读入,scanf的返回值为1;
当a和b都没有被读入,scanf的返回值为0;
如果遇到错误或者遇到end of file,返回值为EOF
C++中可用while(cin>>m>>n)代替
测试结果
相关文章推荐
- Redis中实现查找某个值的范围
- Lua中使用二维数组实例
- 批量文件查找替换功能的vbs脚本
- WinForm实现按名称递归查找控件的方法
- 一个用vbs查找硬盘所有分区中的指定程序的代码
- 浅析Node.js查找字符串功能
- C++二分法在数组中查找关键字的方法
- C#使用二维数组模拟斗地主
- WinForm自定义函数FindControl实现按名称查找控件
- Shell脚本学习指南之查找与替换介绍
- php实现指定字符串中查找子字符串的方法
- C#二维数组基本用法实例
- C#查找对象在ArrayList中出现位置的方法
- jquery 查找新建元素代码
- Oracle 查找与删除表中重复记录的步骤方法
- javascript的日期对象、数组对象、二维数组使用说明
- PHP 如何获取二维数组中某个key的集合
- 改写函数实现PHP二维/三维数组转字符串
- SQL Server根据分区表名查找所在的文件及文件组实现脚本
- PHP学习之字符串比较和查找