74. Search a 2D Matrix
来源:互联网 发布:拼音发音软件下载 编辑:程序博客网 时间:2024/05/21 13:58
Write an efficient algorithm that searches for a value in an m x n 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.
For example,
Consider the following matrix:
[ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]
Given target = 3
, return true
.
由于这道题里给出了限定条件,每一行的第一个元素一定比上一行最后一个元素大,所以整个二维数组可以被看成是一个被切分了几段的排序的一维数组。所以就可以用二分法搜索了。
class Solution {public: bool searchMatrix(vector<vector<int> > &matrix, int target) { if (matrix.empty() || matrix[0].empty()) return false; if (target < matrix[0][0] || target > matrix.back().back()) return false; int m = matrix.size(), n = matrix[0].size(); int left = 0, right = m * n - 1; while (left <= right) { int mid = (left + right) / 2; if (matrix[mid / n][mid % n] == target) return true; else if (matrix[mid / n][mid % n] < target) left = mid + 1; else right = mid - 1; } return false; }};
0 0
- LeetCode 74. Search a 2D Matrix
- [LeetCode]74.Search a 2D Matrix
- LeetCode --- 74. Search a 2D Matrix
- [Leetcode] 74. Search a 2D Matrix
- [leetcode] 74.Search a 2D Matrix
- 74. Search a 2D Matrix
- 74. Search a 2D Matrix
- Leetcode 74. Search a 2D Matrix
- [LeetCode]74. Search a 2D Matrix
- 74. Search a 2D Matrix LeetCode
- 74. Search a 2D Matrix
- 74. Search a 2D Matrix
- 74. Search a 2D Matrix
- [LeetCode]74. Search a 2D Matrix
- [LeetCode]74. Search a 2D Matrix
- 74. Search a 2D Matrix
- 74. Search a 2D Matrix
- leetcode 74. Search a 2D Matrix
- 影视后期 after effects 简单实现 灵魂出窍,果汁变糖果,隔空移物视频
- 网络面试题4
- oracle11g备份数据库不备份空表解决方法
- JavaScript_1th_变量和数组
- java 读取dbf 文件 dbf含有 num.format -.--- 不能解析时,用这个
- 74. Search a 2D Matrix
- 用zookeeper实现简单的发布订阅功能
- RxJava的学习
- javaScript 实现小写转大写
- canvas漫天闪烁的星星
- Rotate list [leetcode]
- 基础数学-4
- 常用排序算法总结
- window下安装Yeoman