题目:每一行,每一列都是递增的
解决:每次找右上角,如果比number大,列减一,如果比number小,行加一
bool Find(int* matrix,int rows,int colums,int number)
{
int row=0;
int colum=colums-1;//用一维表达二维,所以colums的值不能丢失,以便row增加后定位到我们要找到的右上角。
if (matrix!=NULL && rows>0 && colums >0) {
while (colums>=0 && row<=rows-1) {
if(matrix[row*colums+colum]==number)
return true;
else if(matrix[row*colums+colum]<number)
{
row++;
}
else
{
colum--;
}
}
}
return false;
}