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

二维数组中的查找

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

W:
根据规律,从左下角开始寻找,如果小于目标值,那么往右边寻找;
如果大于目标值,那么往上查找,直到找到
N:
数组的越界,在循环时首先就要判断,一次循环一次操作,continue关键字

class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        const int m=array.size(), n=array[0].size();
        int i=m-1,j=0;
        while(1){
            if(i<0 || j>=n)
                break;
              if(array[i][j]==target){
                return true;
            }
            if(array[i][j]>target ){
                --i;
                continue;
            }
             if( array[i][j]<target ){
                ++j;
                continue;
            }

        }
        return false;
    }
};
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务