LeetCode 74 Search a 2D Matrix 二分
作者:互联网
Write an efficient algorithm that searches for a value target in an m x n
integer matrix matrix
. This matrix has the following properties:
- Integers in each row are sorted from left to right.
- The first integer of each row is greater than the last integer of the previous row.
Solution
将整个矩阵当成一个序列,然后进行二分
点击查看代码
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int n = matrix.size();
int m = matrix[0].size();
int l = 0, r = n*m-1;
int mid;
while(l<r){
mid = (l+r)>>1;
if(matrix[mid/m][mid%m]<target)l = mid+1;
else r = mid;
}
return matrix[r/m][r%m]==target;
}
};
标签:size,Search,Matrix,int,mid,2D,integer,row,matrix 来源: https://www.cnblogs.com/xinyu04/p/16530891.html