二分法查找二维数组

二维数组中的查找

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;
    }
}
字节算法题解 文章被收录于专栏

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

全部评论

相关推荐

点赞 评论 收藏
分享
AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
06-27 18:53
门头沟学院 Java
这样才知道自己不适合搞代码,考公去咯
码农索隆:好家伙,我这干的挺好,我老妈还劝我考公呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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