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;
}
};
京公网安备 11010502036488号