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

二维数组中的查找

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

全部评论

相关推荐

能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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