问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
这个问题其实有两种解法:一种是用暴力搜索的方法去解决,另外一种是左下角开始,遇大右移,遇小上移,直到超过边界都没找到
首先来说一下解法1。解法1比较简单,就是通过暴力的方法去遍历整个二维数组。但是在这个过程中需要考虑的是:输入的数组是否是有效的。因此在开始遍历的时候需要检测输入数组的有效性。也就是说二维数组是否为空。具体代码如下:
public class Main {
public static boolean Find(int target, int [][] array) {
if(array == null || array.length < 1 || array[0].length <1) return false;
if(target < array[0][0]) return false;
int row = array.length;
int col = array[0].length;
if(target > array[row-

在已排序的二维数组中查找整数,可通过暴力遍历或左下角开始的策略。有效数组判断是关键,遍历时遇大右移,遇小上移,直至边界。
最低0.47元/天 解锁文章

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



