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

二维数组中的查找

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

根据题解,行依次递增,列依次递增,可以考虑从端点开始遍历,一般考虑左下或右上角开始,(因为左上角开始,数字依次增大,无法处理列变量;右下角同理) alt

    public boolean Find(int target, int [][] array) {
          if(array == null || array.length == 0 || array[0].length == 0){
              return false;
          }
          //从右上角开始
            int row = 0, col = array[0].length -1;
            while(row < array.length && col >= 0){
                if(array[row][col] == target){
                    return true;
                }else if(array[row][col] > target){
                //从右往左遍历
                    col--;
                }else {
                //从上往下遍历
                    row++;
                }
            }
            return false;
        }
}
全部评论

相关推荐

半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
05-20 21:57
已编辑
门头沟学院 Java
喜欢吃卤蛋的悲伤蛙在...:建信融通没消息吧,我2说有实习挂简历不理了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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