根据题目要求:每一行数组都是排好序的,那么我们可以先判断两边的数字,从而得到target是否在这一行内
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
int x = array.size();
int y = array[0].size();
if (x == 0 || y == 0) {
return false;
}
for(int i = 0; i < x; i++){
if(target >= array[i][0] && target <= array[i][y - 1]){
for(int j = 0; j < y; j++){
if(array[i][j] == target){
return true;
}
}
}else{
continue;
}
}
return false;
}
};
思路简单,时间复杂度也还可以



京公网安备 11010502036488号