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

二维数组中的查找

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

public class Solution {
    public boolean Find(int target, int [][] array) {
        if(array==null||array.length==0){
            return false;
        }
        int n=array.length;
        int m=array[0].length;
      
        int i=0;int j=0;
        int right=0; // 标记是不是指针是不是从右回退回来的,是的话就不需要再向后一列查询了,直接行+1;
        while(i>=0&&i<n&&j>=0&&j<m){
            int val=array[i][j];
            if(val==target){
                return true;
            }else{
                if(val>target){
                    j--;
                    right=1;
                }
                else{

                    if(right==1){
                        i++;
                        right=0;
                    }else{
                        if(j==m-1){
                            i++;
                        }else{
                            j++;
                        }
                    }
                }
            }
        }
        return false;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-24 16:03
欲挽天倾:专业毫无意义的 找工作都是看学校title的
点赞 评论 收藏
分享
05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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