问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
这个问题其实有两种解法:一种是用暴力搜索的方法去解决,另外一种是左下角开始,遇大右移,遇小上移,直到超过边界都没找到
首先来说一下解法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;