LeetCode算法题目:Search a 2D Matrix II
来源:互联网 发布:js 强行停断点 编辑:程序博客网 时间:2024/06/16 10:23
题目:
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) { if (matrix.empty()) return false; int n = matrix.size(); int m = matrix.front().size(); int i = n-1; int j = 0; while(i>=0 && j<m){ if (matrix[i][j] == target) return true; else if (matrix[i][j]<target) j++; else i--; } return false; } };
//从右上角开始查找class Solution { public: bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.empty()) return false; int m = matrix.size(); int n = matrix.front().size(); int i=0, j=n-1; while (i<m && j>=0) { int x = matrix[i][j]; if (x == target) return true; else if (x >target) j--; else i++; } return false; } };
0 0
- LeetCode算法题目:Search a 2D Matrix II
- leetcode 240 Search a 2D Matrix II java 算法
- LeetCode算法题目:Search a 2D Matrix
- #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
- css3高级样式
- 数据库入门+php基础加强训练+CMS源码分析
- Java中反射机制(Reflection)学习
- JAVA实现简单的图书管理系统
- Java抓取网页爬虫
- LeetCode算法题目:Search a 2D Matrix II
- TIME
- JAVA程序导出Excel表格
- 10 Useful “IP” Commands to Configure Network Interfaces
- excel文档中时间和日期截取问题
- Extjs gridpanel 动态修改store内容
- android动态加载jar
- 深入理解Java枚举类型(enum)
- 使用FileReader对象的readAsDataURL方法来读取图像文件