leetcode240. Search a 2D Matrix II
2017-09-11 21:07
453 查看
题目leetcode240. Search a 2D Matrix II
难度等级:medium
时间复杂度
O(mlgn)
难度等级:medium
思路
实现对每一行的二分查找,和每一列的二分查找就可以了时间复杂度
O(mlgn)
实现
class Solution { public: bool bin(vector<vector<int>>& matrix, int axis, int index, int l, int r, int target) { // row scan if(axis == 0){ int mid; while(l < r) { mid = l + ((r - l) >> 1); if (matrix[index][mid] < target) l = mid + 1; else r = mid; } return (matrix[index][l] == target) ? true : false; } else { int mid; while(l < r) { mid = l + ((r - l) >> 1); if(matrix[mid][index] < target) l = mid + 1; else r = mid; } return (matrix[l][index] == target) ? true : false; } } bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.empty()) return false; int m, n; m = matrix.size(); n = matrix[0].size(); if(m < n) { for(int i = 0; i < m; i++) { if(bin(matrix, 0, i, 0, n -1, target)) return true; } return false; } else { for(int i = 0; i < n; i++) { if(bin(matrix, 1, i, 0, m - 1, target)) return true; } return false; } } };
相关文章推荐
- LeetCode 240. Search a 2D Matrix II
- leetcode - 240.Search a 2D Matrix II
- [Leetcode] 240. Search a 2D Matrix II 解题报告
- LeetCode 240. Search a 2D Matrix II
- LeetCode - 74. Search a 2D Matrix & 240. Search a 2D Matrix II
- LeetCode 240. Search a 2D Matrix II
- 题解——Leetcode 240. Search a 2D Matrix II 难度:Medium
- [leetcode]240. Search a 2D Matrix II
- 【Leetcode】240. Search a 2D Matrix II
- Leetcode 240.Search a 2D Matrix II(第十三周作业)
- LeetCode: 240. Search a 2D Matrix II
- [leetcode] 240. Search a 2D Matrix II
- LeetCode 240. Search a 2D Matrix II
- leetcode240. Search a 2D Matrix II
- 【LeetCode】240. Search a 2D Matrix II 解题报告(Python)
- Leetcode 240. Search a 2D Matrix II
- Leetcode 74. Search a 2D Matrix & 240. Search a 2D Matrix II
- leetcode 240. Search a 2D Matrix II
- LeetCode 240. Search a 2D Matrix II
- Leetcode 240. Search a 2D Matrix II