二维数组中查找

  题目描述

  在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
       测试用例
       1、二维数组中包含查找的数,不包含查找的数,查找的数为最大值或最小值
       2、输入测试的数据为NULL
      思路:
      需要从二维数组的右上角进行查找,同时调整列或者行
public class Solution {
    public boolean Find(int target, int [][] array) {
       if(array==null)
           return false;
        int rows=array.length;
        int cols=array[0].length-1;
        int row=0;
        int col=cols;
        while(row<rows && col>=0){
            if(array[row][col]==target)
                return true;
            else if(array[row][col]>target){
                col--;
            }else{
                row++;
            }
        }
        return false;
    }
}

 

posted on 2019-01-12 12:20  溪水静幽  阅读(66)  评论(0)    收藏  举报