[leetcode 240/74] Search a 2D Matrix II -----在左右有序,上下有序中查找数据
来源:互联网 发布:红色搭配 知乎 编辑:程序博客网 时间:2024/05/16 17:46
[leetcode 240]题目:
Quesiton:
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 in ascending from left to right.
- Integers in each column are sorted in ascending from top to bottom.
For example,
Consider the following matrix:
[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]
Given target = 5
, return true
.
Given target = 20
, return false
.
[leetcode 74]题目:
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
.
分析:
从右上角第一个数据比较开始即可,如果这个数据比右上角数据大,则向下走,如果比右上角数据小则向左走即可,相等就返回。
代码如下:
<span style="font-size:14px;">class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.size() == 0 || matrix[0].size() == 0 || target < matrix[0][0]) return false; int left = 0; int bottom = matrix.size(); int row = 0; int col = matrix[0].size()-1; while(row < bottom && col >= left){ if(target == matrix[row][col]) return true; else if(target < matrix[row][col]){ --col; } else{ ++row; } } return false; }};</span>
0 0
- [leetcode 240/74] Search a 2D Matrix II -----在左右有序,上下有序中查找数据
- Leetcode 240 Search a 2D Matrix II (二分法和分治法解决有序二维数组查找)
- Search a 2D Matrix 在有序二维矩阵查找数 @LeetCode
- [LeetCode]—Search a 2D Matrix 有序二维矩阵中查找目标值
- Leetcode 74 Search a 2D Matrix 有序二维数组二叉查找
- leetcode——Search a 2D Matrix 二维有序数组查找(AC)
- 字符串算法——二维有序数组中查找目标值(Search a 2D Matrix)
- (二维数组中查找target)LeetCode#74. Search a 2D Matrix #240. Search a 2D Matrix II
- !leetcode[74&240]:Search a 2D Matrix I &II
- #leetcode#Search a 2D Matrix II
- [LeetCode] Search a 2D Matrix II
- leetcode: Search a 2D Matrix II
- leetcode - Search a 2D Matrix II
- [leetcode] Search a 2D Matrix II
- 【leetcode】Search a 2D Matrix II
- Leetcode: Search a 2D Matrix II
- LeetCode Search a 2D Matrix II
- [Leetcode]Search a 2D Matrix II
- 微软等面试100题系列 - 45(3)
- Krito的讨伐(bfs加上优先队列)
- Java邮件开发-----JavaMail(二)
- HDU 2066 一个人的旅行dijikstra算法
- hdu5001(概率dp)
- [leetcode 240/74] Search a 2D Matrix II -----在左右有序,上下有序中查找数据
- Java BIO、NIO、AIO 学习
- 修改greenDao代码生成器生成bean文件的成员变量为public
- Java邮件开发-----JavaMail(三)
- C++编程基础笔记章节二
- 使Trello成为高效敏捷Scrum项目管理工具的十个小技巧
- poj2157 深搜 基础
- [CodeForces 573B] Bear and Blocks (脑洞题)
- 利用CountDownTimer巧妙地实现倒计时功能