剑指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;
    }
}
全部评论

相关推荐

头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务