LeetCode——Search a 2D Matrix
2016-02-01 21:20
337 查看
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 from left to right.
The first integer of each row is greater than the last integer of the previous row.
For example,
Consider the following matrix:
Given target =
原题链接:https://oj.leetcode.com/problems/search-a-2d-matrix/
题目:在m * n 的矩阵中查找目标值是否存在。
比較好的办法就是二分查找。即将矩阵总体看成一个数组来处理。
Integers in each row are sorted from left to right.
The first integer of each row is greater than the last integer of the previous row.
For example,
Consider the following matrix:
[ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ]
Given target =
3, return
true.
原题链接:https://oj.leetcode.com/problems/search-a-2d-matrix/
题目:在m * n 的矩阵中查找目标值是否存在。
比較好的办法就是二分查找。即将矩阵总体看成一个数组来处理。
public boolean searchMatrix(int[][] matrix, int target) { if(matrix == null || matrix.length == 0 || matrix[0].length == 0) return false; int m = matrix.length; int n = matrix[0].length; int start = 0; int end = m * n - 1; while (start <= end) { int mid = (start + end) / 2; int x = mid / n; int y = mid % n; if (matrix[x][y] == target) return true; if (matrix[x][y] < target) start = mid + 1; else end = mid - 1; } return false; }
相关文章推荐
- <Java设计模式>—UML类图
- 对数基础知识
- JavaScript数据类型
- 【leetcode】Power of Three
- hdu 2101 A + B Problem Too
- 算法题10 最长等差序列问题
- YTU 2720: 删出多余的空格
- 51nod 1174 区间中最大的数
- 字典补充
- bzoj3233 找硬币 动态规划&线性筛
- JavaScript——递归调用使用arguments.callee
- 最大可不连续的子段和(1087)
- JavaScript 中对小数取整的常用函数
- YTU 2715: 函数---判断某年某月某日是这一年中的第几天
- Codeforces Round #341 (Div. 2) CF621A. Wet Shark and Odd and Even
- 所有点对最短路径Floyd-Warshall
- cef 介绍
- php中的魔术变量
- YTU 2706: 编写一个函数求最大的n值
- pyinstaller相关错误