题解 | #二维数组中的查找#

二维数组中的查找

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

public class Solution {
    public boolean Find(int target, int [][] array) {
    	// 无效输入:空指针
        if(array == null){
            return false;
        }
        // 整体思路:选择右上角的数与target进行比较,大于则去掉这一列,小于则去掉这一行
        // 时间O(n),空间O(1)
        int row = 0;
        int column = array[0].length - 1;
        while(row < array.length && column >= 0){
            if(array[row][column] == target)
                return true;
            else if(array[row][column] < target)
                row ++;
            else if(array[row][column] > target)
                column --;
            else
                return false;
        }
        return false;
    }
}
全部评论

相关推荐

11-16 15:25
已编辑
上海海事大学 Java
点赞 评论 收藏
分享
10-14 12:20
门头沟学院 Java
迷茫的大四🐶:摊牌了,我是25届的,你们也不招我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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