74. 搜索二维矩阵
1 class Solution 2 { 3 public: 4 bool searchMatrix(vector<vector<int>>& matrix, int target) 5 { 6 if(matrix.empty() || matrix[0].empty()) return false; 7 8 int m = matrix.size(),n = matrix[0].size(); 9 int l = 0,r = m * n - 1; 10 while(l < r) 11 { 12 int mid = l + r >> 1; 13 //技巧:将二维数组的值映射成一维数组 matrix[mid / n][mid % n] 14 if(matrix[mid / n][mid % n] >= target) r = mid; 15 else l = mid + 1; 16 } 17 18 if(target != matrix[l / n][l % n]) return false; 19 return true; 20 } 21 };
Mamba never out

浙公网安备 33010602011771号