思路:考虑从四个角遍历,首先去除左上角和右下角的考虑,因为在左上角的走向都是递增的,在右下角的走向都是递减的,没法判断往哪个线路走;所以要考虑从另外两个角出发。
bool Find(int target, vector<vector<int> > array) {
int row = array.size();
if(row==0)
return false;
int col = array[0].size();
int i=row-1;
int j=0;
while(i>=0&&j<col)
{
if(target==array[i][j])
return true;
else if(target>array[i][j])
j++;
else
i--;
}
return false;
}