剑指offer之 二维数组的查找
package Problem3;
public class Find {
/*
* 题目描述:二维数组中的查找
* 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的顺序排序。
* 完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否包含该整数
*
*/
public static boolean find(int arr[][],int keyNumber){
//从二维数组的右上角开始选取与keyNumber比较的整数
//column的变化:arr[0].length-1-->0;
//row的变化:0-->arr.length;
int column=arr[0].length-1;
int row=0;
while(column>=0&&row<arr.length){
if(arr[row][column]==keyNumber){
return true;
}
else if(arr[row][column]>keyNumber){
column--;
}
else {
row++;
}
}
return false;
}
本文介绍了一种在特殊排序的二维数组中查找特定整数的方法。该数组的特点是每一行从左到右递增排序,每一列从上到下递增排序。通过从数组的右上角开始比较,逐步缩小搜索范围,最终实现高效查找。
158

被折叠的 条评论
为什么被折叠?



