深圳网站建设南山免费建立个人网站官网
看到这题我就想到之前被我当作这题做的【力扣hot100题】(020)搜索二维矩阵Ⅱ
其实是完全不一样的两题,个人觉得这道题更简单也更考验基础,那道题思路更难想到但代码更好写。
两个二分查找结束,要注意的是第一个二分查找找的是不大于target但最接近的那个数,和上一题不一样。
class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int left=0;int right=matrix.size()-1;int result=0;while(left<=right){int mid=(left+right+1)/2;if(matrix[mid][0]<target) {result=mid;left=mid+1;}else if(matrix[mid][0]>target) right=mid-1;else return 1;}left=0;right=matrix[0].size()-1;while(left<=right){int mid=(left+right+1)/2;if(matrix[result][mid]<target) left=mid+1;else if(matrix[result][mid]>target) right=mid-1;else return 1;}return 0;}
};