[LeetCode]Search a 2D Matrix
来源:互联网 发布:win10新系统优化 编辑:程序博客网 时间:2024/06/08 15:02
题目描述:给定一个m*n的矩阵,矩阵每一行的元素依次增大,矩阵前一行的最后一个元素一定小于矩阵下一行的第一个元素(两个条件综合起来就是说,这个矩阵排成一列数是递增的),要求写出一个快速的算法判断一个特定的值target是否在这个矩阵中。
解题思路:二分查找。
解题注意点:
1、mid对应的元素映射到矩阵里面是matrix[mid/n][mid%n];
2、注意二分查找退出的条件是begin<end; 初始化时begin=0;end=m*n;
3、STL的一些用法Mark一下: vector<vector<int> > matrix;
matrix.empty();
const size_t m=matrix.size();
const size_t n=matrix.front().size();
class Solution {public: bool searchMatrix(vector<vector<int> > &matrix, int target) { if(matrix.empty()) return false; const size_t m=matrix.size(); const size_t n=matrix.front().size(); int begin=0; int end=m*n; int mid; while(begin<end) { mid=(begin+end)/2; if(target==matrix[mid/n][mid%n]) return true; if(target>matrix[mid/n][mid%n]) begin=mid+1; else if(target<matrix[mid/n][mid%n]) end=mid; } return false; }};
0 0
- [leetcode][Search] Search a 2D Matrix
- LeetCode: Search a 2D Matrix
- 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
- leetcode 90: Search a 2D Matrix
- [LeetCode]Search a 2D Matrix
- [Leetcode] Search a 2-D matrix
- [Leetcode]Search a 2D Matrix
- [leetcode]Search a 2D Matrix
- 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
- leetcode之Search a 2D Matrix
- Struts2教程--第二章 Struts2的工作机制及分析
- 使用django-admin.py创建Django项目
- 关于jsp嵌入flash
- vim快速替换搜索一个单词
- Android开发新“神器”:模拟器之王genymotion!
- [LeetCode]Search a 2D Matrix
- Nginx日志log
- leetcode Container With Most Water
- spring中的get和set方法
- iOS开发navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转
- HEVC—参数GOP,SLICE,TILE解疑
- LeetCode-Pow(x, n)
- Python标准库:内置函数globals()
- 【UML】概念、关系、图(二)