Leetcode 之Search a 2D Matrix
来源:互联网 发布:telnet端口23失败win10 编辑:程序博客网 时间:2024/05/24 15:36
题目
https://leetcode.com/problems/search-a-2d-matrix/
题意解析
在二维数组中找一个数,这个二维数组满足2个特性
- 同一行中的数字右边的比左边的大。
- 下一行的第一个数比上一行的最后一个数大。
求解
应该找到这样的一个点,使得这样一个点和target数比较的时候如果小于只能是在其左边找,大于则只能在其下方找,想找这样的理由是根据二维数组的特性得到的。
如果是从第一个点开始找现在不能满足情况 ,应该要找的target可能在右边或者下方,同理最后一个数字也不行,继续探讨,根据二维数组的第二个特性,选择从第一行的最后一个数字开始比较,刚好能做到想要的效果。
从第一行的最后一个数字和target比:
如果相等:返回true;
如果大于:在数的左边;
如果小于:在树的下方;
直到最后还没找到target则返回false;
Code
Ac代码
/** * Created by loveqh on 2016/8/12. */public class SearchA2DMatrix { public boolean searchMatrix(int[][] matrix, int target) { int m = matrix.length; int n = matrix[0].length ; int i = 0; int j = n - 1; while (i < m && j >= 0) { if (matrix[i][j] == target) { return true; } else if (matrix[i][j] > target) { j--; } else { i++; } } return false; } public static void main(String[] args) { int[][] matrix={{1,3}}; new SearchA2DMatrix().searchMatrix(matrix,1); }}
0 0
- leetcode之Search a 2D Matrix
- LeetCode之Search a 2D Matrix
- LeetCode之Search a 2D Matrix
- leetcode之Search a 2D Matrix
- LeetCode 之 Search a 2D Matrix
- 【Leetcode】之Search a 2D Matrix
- Leetcode 之Search a 2D Matrix
- [leetcode][Search] Search a 2D Matrix
- Leetcode之五Search a 2D Matrix
- LeetCode 之 Search a 2D Matrix — C 实现
- leetcode之Search a 2D Matrix II
- LeetCode 之 Search a 2D Matrix II
- Leetcode之Search a 2D Matrix 问题
- LeetCode: Search a 2D Matrix
- LeetCode Search a 2D Matrix
- [Leetcode] Search a 2D Matrix
- LeetCode : Search a 2D Matrix
- [LeetCode] Search a 2D Matrix
- RTMP时间戳大于0xffffff,数据发送失败问题
- 论版本号的正确打开方式
- Java实现根据权重优先返回(速度较快)
- Java面对对象多态性
- 下载文件实现
- Leetcode 之Search a 2D Matrix
- 你好,Go
- 数据库索引的作用和优点缺点
- memmove 和 memcpy的区别
- 抽象类的应用
- ubuntu 修改 ssh默认端口号
- ArcGIS Engine调用自定义GP服务(一)
- vim编辑器常用冰山一角
- RecyclerView 简单使用