直接每一行判断 找到比target大的数时用pos记录
前一个位置后面每一行只要判断到pos位置就可以了
pos为-1时没有符合的就不用再继续判断了
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int pos=array[0].size()-1;//记录第一个大于指定数的位置
for(int j=0;j<array.size();j++)//行循环
{
for(int i=0;i<=pos;i++)//减少判断 列循环
{
if(array[j][i]==target)
return true;
if(pos==-1)//还没找到不用再继续了
return false;
if(array[j][i]>target)
{
pos=i-1;//这个位置后面以及下面的后面的数都是大于的不用在考虑
break;
}
}
}
return false;
}
};
京公网安备 11010502036488号