剑指offer|剑指offer、牛客-二维数组的查找

描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
【剑指offer|剑指offer、牛客-二维数组的查找】思路:根据数组的特性来缩小范围

public class Solution { public boolean Find(int target, int [][] array) { int rows = 0,row = 0, columns = 0, column = 0; boolean found = false; //初始化数据的长度、宽度 rows = array.length; if(rows > 0) columns = array[0].length; //进入查找的前提条件 Integer targetTmp = target; if(targetTmp != null && rows > 0 && columns > 0){ //从数组的左下角开始匹配 row = rows -1 ; column = 0; while(column < columns && row >= 0 ){ //找到 if(array[row][column] == target){ found = true; break; }else if(array[row][column] > target){ row--; }else{ column++; } } } return found; } }



    推荐阅读