Search a 2D Matrix II
来源:互联网 发布:程序员开发工具网 编辑:程序博客网 时间:2024/06/07 02:34
1.题目
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
.
2.算法
这道题和 Search a 2D Matrix I不同, Search a 2D Matrix I中要求下一行的开始大于上一行的结束,而这个并没有要求。用二分查找不能满足要求。我们可以看到右上角的数15,从他开始向下是递增的,向左是递减的,所以我们从他开始和目标数比较。
public class Solution { public boolean searchMatrix(int[][] matrix, int target) { if(matrix.length==0 || matrix[0].length==0) return false; int i=0, j=matrix[0].length-1; while(i<matrix.length && j>=0) { int x = matrix[i][j]; if(target == x) return true; else if(target < x) --j; else ++i; } return false; } }
0 0
- Search a 2D Matrix II
- [刷题]Search a 2D Matrix II
- lintcode:Search a 2D Matrix II
- #leetcode#Search a 2D Matrix II
- 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
- 240Search a 2D Matrix II
- [leetcode] Search a 2D Matrix II
- 【leetcode】Search a 2D Matrix II
- Search a 2D Matrix II
- Search a 2D Matrix II
- Search a 2D Matrix II
- Leetcode: Search a 2D Matrix II
- LeetCode Search a 2D Matrix II
- [Leetcode]Search a 2D Matrix II
- codeforces785C-bindary search,math
- java虚拟机随手笔记(1)内存分配
- Linux—GPIO
- 特征工程
- Sublime Text 2 实用快捷键
- Search a 2D Matrix II
- Spring架构详解之动态代理的实现原理
- tomcat7.0.55配置单向和双向HTTPS连接(二)
- postgre删除数据表重复数据
- 芯片封装详细介绍
- 为什么选择嵌入式方向
- ActiveMQ安装和使用
- RecyclerView的item的设置math_parent显示不全
- mysql常用函数