思路:
(1)先选取数组中左下角的数字。如果该数字等于要查找的数字,则查找结束;如果该数字大于要查找的数字,则剔除数字所在行;如果该数字小于要查找的数字,则剔除数字所在列。逐渐缩小查找的范围,最后确定结果。
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int rows = array.size(); //行
int cols = array[0].size(); //列
int i=rows-1,j=0;//左下角元素坐标
while(i>=0 && j<cols){
//使其不超出数组范围
if(target<array[i][j])
i--;//查找的元素较小,往上找
else if(target>array[i][j])
j++;//查找元素较大,往右找
else
return true;//找到
}
return false;
}
};
(2)先选取数组中右上角的数字。如果该数字等于要查找的数字,则查找结束;如果该数字大于要查找的数字&#x