package 剑指Offer.二维数组的查找;
/**
* @program:多线程和IO
* @descripton:一个二维数组,每一行都按照从左到右递增,每一列从上到下递增。查找一个整数,如果有
* @返回true,没有false
* @author:ZhengCheng
* @create:2021/9/17-18:39
**/
public class SearchInDoubleWARR {
public static void main(String[] args) {
int[][] arr = {{1,4,7,11,15},{2,5,8,12,19},{3,6,9,16,22},
{10,13,14,17,24},{18,21,23,26,30}};
System.out.println(FindInTwoDimensionArr(20, arr));
System.out.println(FindInTwoDimensionArr(16, arr));
}
//思路,从右上角开始找,大于右上角,col++,小于当前值row--
public static boolean FindInTwoDimensionArr(int val , int[][] arr){
if (arr[0].length == 0){
return false;
}
int col = arr.length-1;//行的长度,
int row = 0;
while (row<arr[0].length && col > 0){
if (val > arr[row][col]){
row++;
}else if (val < arr[row][col]){
col--;
}else return true;
}
return false;
}
}
剑指offer-二维数组的查找
最新推荐文章于 2025-12-16 14:17:05 发布
387

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



