LeetCode 240: Search a 2D Matrix II
来源:互联网 发布:c语言大小写转换程序 编辑:程序博客网 时间:2024/06/05 09:30
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
.
此题与Search 2D Matrix基本相同,但现在每列也是有序的,可以采用从左下角或者右上角开始搜索的方法。
左下角:
class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) { int rows = matrix.size();if (rows<=0)return false;int cols = matrix[0].size();int i = rows-1;int j = 0;while(i>=0 && j<cols){if (matrix[i][j] == target)return true;else if (matrix[i][j]<target)j++;elsei--;}return false; }};
右上角:
class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) { int rows = matrix.size();if (rows<=0)return false;int cols = matrix[0].size();int i=0, j=cols-1;while (i<rows && j>=0){int x = matrix[i][j];if (x == target){return true;}else if (x >target){j--;}else{i++;}}return false; }};
2 0
- #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
- [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
- Search a 2D Matrix II -- leetcode
- leetcode | Search a 2D Matrix II
- jQuery学习之动画效果
- HDU 2141 Can you find it?【二分】
- ListView+radioButton实现每行单选
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- 上下文无关文法2
- LeetCode 240: Search a 2D Matrix II
- 常用类之Date类
- 排序汇总
- 第三天上课
- 【leetcode】Linked List Cycle II
- HDOJ 1022 Train Problem I(栈)
- 斐波那契数列——矩阵的幂求解
- HDU 5327 Olympiad
- iOS KVC 概述