二分法查找二维数组

二维数组中的查找

http://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e

可以将初始值定在右上角或者是左下角。
这样的时间复杂度为 O(m+n)

public class Solution {
    public boolean Find(int target, int [][] array) {
        int m = array.length;
        if(m == 0)
            return false;
        int n = array[0].length;
        if(n == 0)
            return false;
        int r = 0, c = n - 1;
        while(r < m && c >= 0){
            if(target == array[r][c])
                return true;
            else if(target > array[r][c])
                r++;
            else if(target < array[r][c])
                c--;
        }
        return false;
    }
}
字节算法题解 文章被收录于专栏

最近在刷字节的题库!! 春招给我冲!!!

全部评论

相关推荐

一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
11-07 13:31
怀化学院 Java
勇敢牛牛不怕难:又疯一个
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务