240. Search a 2D Matrix II
2016-04-01 12:18
369 查看
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:
Given target =
Given target =
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.
Solution 1. Binary Search // The matrix is divided into 3 parts: smaller, bigger and unknown. public class Solution { public boolean searchMatrix(int[][] matrix, int target) { int m = matrix.length; int n = matrix[0].length; int i = 0, j = n-1; while (i<m && j>=0) { if (target == matrix[i][j]) return true; if (matrix[i][j] > target) { j--; }else if (matrix[i][j] < target) { i++; } } return false; } }
相关文章推荐
- js正则函数match、exec、test、search、replace、split使用介绍集合
- 设计模式介绍
- HDU-1016-Prime Ring Problem
- VC 三点 划 曲线
- JSP中input内容改变触发onchange事件使用
- linux下程序调试使用文件重定向
- No permission to write APN settings: Neither user *** nor current process has android.permission.WRITE_APN_SETTINGS.
- 网络请求数据问题
- VC 类泡泡龙游戏算法
- HDU-2553-N皇后问题
- Codeforces 368B Sereja and Suffixes
- 关于HTML中的title换行问题
- 【撸码师的备忘录】 Java bean 与 xml 互相转化-JDK Marshaller
- 10分钟-JavaWeb入门-登陆功能实现
- poj-2828 Buy Tickets【线段树】
- 罗马数字转换成整数
- nginx+php测试时显示 502 bad gateway的解决方法
- maven中解决javax.servlet.jsp.PageContext cannot be resolved to a type
- 整数转换成罗马数字
- 线性表的顺序存储的实现