LeetCode 240 Search a 2D Matrix II
来源:互联网 发布:新西兰技术移民知乎 编辑:程序博客网 时间:2024/06/07 14:43
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
.
从右上角开始, 比较target 和 matrix[m][n]的值. 如果matrix[m][n]小于target, 则该行不可能有此数, 所以m++,如果matrix[m][n]大于target,则该列不可能有此数, 所以n--,遇到边界则表明该矩阵不含target。感谢西施豆腐渣。查找从右上角开始处理,是个很妙的思路。时间复杂度为O(m+n)。
public boolean searchMatrix(int[][] matrix, int target) {if (matrix.length == 0) return false;int m = 0, n = matrix[0].length - 1;while (m < matrix.length && n >= 0) {int x = matrix[m][n];if (target == x) return true;else if (target < x) n--;else m++;}return false;}
1 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
- Android6.0 Runtime permission
- Hadoop YARN常见问题以及解决方案
- Java基本类型数组转ArrayList
- sql语句里的if用法实例
- 域名更换为https遇到的问题
- LeetCode 240 Search a 2D Matrix II
- 互联网架构 SOA(Dubbo)
- 使用zsh的十大优点
- CodeForces651AJoysticks
- 在jsp中获取已选中checkbox其他列的值
- Java之调用被子类重载的方法
- c# 继承 virtual override new
- Android studio 挂断电话 使用ITelephony.aidl
- Queue LifoQueue and PriorityQueue