/*
二维数组有序数组查找
不断缩小查找数组的范围。
从后面最大开始查找是否有等于target的值,如果大于target,则该位置下面和右边的所有数都大于target,不满足。
找到到第一个小于target的位置时,下方数组都可能存在,则换得到下一行。
*/
class Solution {
public:
bool Find(int target, vector<vector<int> > array){
int m=array.size(),n=array[0].size(),row=0;
while(n&&row<m){
if(target==array[row][n-1])return true;
if(target<array[row][n-1])n--;
else row++;
}
return false;
}
};
京公网安备 11010502036488号