思路一:
可以将整个矩阵当作一个大的数组,通过对矩阵的除余
运算来获取矩阵的行列数
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
if( matrix.size() == 0) {
return false;
}
// 可以使用二分查找
int height = matrix.size(), width = matrix[0].size();
int count = width * height;
int left = 0 , right = count - 1;
while(left <= right) {
int mid = (left + right) / 2;
if(matrix[mid /width][mid % width] == target) {
return true;
} else if (matrix[mid/width][mid%width] > target) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return false;
}
};