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