前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

在二维数据中查找数据num(二维数组快速查找)

qiguaw 2024-10-07 12:57:50 资源文章 12 ℃ 0 评论

一、题目

在二维数据中查找数据num,如果找到num,就返回true,否则返回false。二维数据中的数据从左到右,从上到下,依次递增。输入的二维数据规律如下:

二、思路

1、数组的二维分别为rows,colums,row=0,column=columns-1

2、从数组的右上角的数开始比较起,当arry[row][column]<num时,row++;

3、当arry[row][column]==num,找到需要查找的num,退出循环,返回true;

4、当arry[row][column]>num时,column--;如此循环,当row>=rows||column<0时,退出循环,返回false.

三、异常场景

1、二维数组为空

四、code

/**

* 二维数组查找某一个数

*/

public class arraySearch {

 public boolean searchNum(int[][] arry, int num) {
 int rows = arry.length;
 int columns = arry[0].length;
 if (rows == 0)
 return false;
 boolean result = false;
 int row = 0;
 int column = columns - 1;
 while (row < rows && column > 0) {
 if (arry[row][column] < num) {
 row++;
 } else if (arry[row][column] == num) {
 result = true;
 System.out.println(row);
 System.out.println(column);
 System.out.println(arry[row][column]);
 return result;
 } else {
 column--;
 }
 }
 return result;
 }
 
}

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表