Richard_

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

思路:从数组左下角开始判断,如果目标数据大于左下角数字,则列号右移(增加),若目标数字小于左下角数字,则行号上移(减小)

public class Solution {
     public boolean Find(int target, int [][] array) {
         int rowCount = array.length;
         int colCount = array[0].length;
         for(int i=rowCount-1, j=0; i >= 0&&j<colCount;){
             if(target==array[i][j]){
                 return true;
             }
             if(target < array[i][j]){
                 i--;
                 continue;
             }
             if(target > array[i][j]){
                 j++;
                 continue;
             }
            
        }
         return false;
}

posted on 2018-11-25 08:12  Richard_  阅读(116)  评论(0)    收藏  举报