题3 二维数组中的查找
来源:互联网 发布:鼠标 知乎 编辑:程序博客网 时间:2024/06/14 23:47
题3 二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
分析:首先选取数组中右上角的数字。如果等于目标数字,结束。如果小于目标数字,剔除这个数字所在行。如果大于目标数字,剔除这个数字所在列。(也可选择左下角的数字,相似算法)
import java.util.Scanner;public class Find {public static void main(String[] args){Scanner scan = new Scanner(System.in);//初始化数组System.out.println("请输入数组行数:");int x = scan.nextInt();System.out.println("请输入数组列数:");int y = scan.nextInt();if(x > 0 && y > 0){int[][] array=new int[x][y];for(int i=0;i<x;i++){System.out.println("请输入数组第"+(i+1)+"行:");for(int j=0;j<y;j++){array[i][j]=scan.nextInt();}}//查找目标数字System.out.println("请输入要查找的数字:");int number=scan.nextInt();int row=0;int col=y-1;while(row<x && col>=0){if(array[row][col]==number){System.out.println("找到了!");return;}else if(array[row][col]>number){col--;}else{row++;}}System.out.println("找不到!");}else{System.out.println("输入有误!");}}}
测试用例:
1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15
7----找到了
5----找不到
阅读全文
0 0
- 题3 二维数组中的查找
- 题3 二维数组中的查找
- 二维数组中的查找3
- 3、二维数组中的查找
- 剑指offer 3题 【数组】二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 如何不择手段提升scroll事件的性能
- Codeforces 875D High Cry st表+分治
- JVM之类文件结构
- SQL进阶---第二单元(第九到第十三课)、Queries
- C++类的定义
- 题3 二维数组中的查找
- jsp页面中的代码执行加载顺序
- LruCache原理
- 链栈的实现
- hdu 1853 Cyclic Tour(KM 最小权值匹配)
- bzoj 2763: [JLOI2011]飞行路线
- bzoj1492 货币兑换Cash
- 2017关于自学PHP的方法
- Python基础教程(1)