class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int c=array[0].size()-1,temp=c;
if(c<0) return false;
for(int i=0;i<array.size();i++)
{
//对每行中最后一个数≥target表明,当前值可能存在于当前行,并对当前行采用二分法搜索
if(array[i][c]>=target)
{
int l=0;
while(l<=c)
{
int mid=l+(c-l)/2;
if(array[i][mid]>target)
{
c=mid-1;
}
else if(array[i][mid]<target)
{
l=mid+1;
}
else
{
return true;
}
}
c=temp;
}
}
return false;
}
};</int>