思路:从左小角或者右上角开始遍历,假设右上角开始遍历,如果当前值大于目标值则列-1;如果当前值小于目标值则行+1,以此遍历来查找目标值;注意col和row的选取
class Solution {
public:
bool findTargetIn2DPlants(vector<vector<int>>& plants, int target) {
if(plants.size()==0) return false;
//定义右上角的坐标值
int row = 0;
int col =plants[0].size()-1;
while(row < plants.size()&&col>=0){
if(plants[row][col]==target) return true;
//如果当前值大于目标值,列-1
else if (plants[row][col]>target) col--;
//如果当前值小于目标值,行+1
else row++;
}
return false;
}
};