[Leetcode]Search a 2D Matrix
2013-06-24 15:42
246 查看
思路:用经典的二分查找,先找到所在行,然后再找到所在列
class Solution { public: bool searchMatrix(vector<vector<int> > &matrix, int target) { // Start typing your C/C++ solution below // DO NOT write int main() function if(matrix.empty()) return false; int row = -1; { int l = 0, r = matrix.size() - 1; while(l <= r) { int mid = l + (r - l) / 2; if(target < matrix[mid].front()) r = mid - 1; else if(target > matrix[mid].back()) l = mid + 1; else { row = mid; break; } } } if(row == -1) return false; int l = 0, r = matrix[0].size() - 1; vector<int> &arr = matrix[row]; while(l <= r) { int mid = l + (r - l) / 2; if(target > arr[mid]) l = mid + 1; else if(target < arr[mid]) r = mid - 1; else return true; } return false; } };
相关文章推荐
- leetcode — search-a-2d-matrix
- Leetcode 之Search a 2D Matrix
- LeetCode Search a 2D Matrix
- LeetCode : Search a 2D Matrix
- Leetcode 74. Search a 2D Matrix 2D矩阵查找 解题报告
- [LeetCode] Search a 2D Matrix
- 二维数组中的查找(LeetCode: 74. Search a 2D Matrix)
- 【LeetCode】Search a 2D Matrix & Set Matrix Zeroes & Spiral Matrix & Spiral Matrix II
- (leetcode)Search a 2D Matrix
- Leetcode 74. Search a 2D Matrix
- LeetCode:Search a 2D Matrix
- LeetCode--search-a-2d-matrix
- 【Leetcode】74. Search a 2D Matrix
- 【leetcode】【74】Search a 2D Matrix
- 【LeetCode】C# 74、Search a 2D Matrix
- Leetcode NO.74 Search a 2D Matrix
- LeetCode_74 Search a 2D Matrix
- leetcode 240: Search a 2D Matrix II C++Version
- Search a 2D Matrix leetcode java
- Leetcode: Search a 2D Matrix