剑指offer:二维数组中的查找(简单思维)

二维数组中的查找

https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId=13&tqId=11154&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking&tab=answerKey

题意:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:可简化直O(n),通过右上角的数,每次可以直接排除一行或一列

public class Solution {
    public boolean Find(int target, int [][] array) { 
        boolean flag=false;
        int len=array[0].length-1;
        int len2=array.length-1;
        int i=len,j=0;
        while(i>=0&&j<=len2){
            if(array[j][i]>target) i--;
            else if(array[j][i]<target) j++;
            else{
                flag=true;
                break;
            }
        }
        return flag;
    }
}
全部评论

相关推荐

牛油果甜奶昔:别的先不说,牛客还能内推护士?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务