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

二维数组中的查找

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

相关推荐

10-17 13:54
上海大学 运营
雾凇岛:这还说什么了,冲了兄弟们
点赞 评论 收藏
分享
09-29 00:03
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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