题解 | #二维数组中的查找#
二维数组中的查找
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; } };