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

二维数组中的查找

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;
    }
}

全部评论

相关推荐

伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
11-30 11:07
河南大学 Java
宇宙厂 测开 n*15
丘丘给个offer:有后选后
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务