Leetcode240 Search a 2D Matrix II
给定一个矩阵,满足每行从左到右是升序,每列从上到下是升序,求问目标值是否存在于矩阵中
看到题目中出现了排序好的情况,要么二分查找,要么双指针
由于从左到右升序,从上到下升序,那么对于一个元素,他的右下方所有元素都比他大,也即如果当前元素比目标值大,那么他的右下方所有元素也都比目标值大,自然是不用在右下方去找了,而是从左上方,同理,如果当前元素比目标值小,那么也不用在左上方找了。
我们从右上角开始,如果当前访问元素比目标值大,则往左变小,小,则向下变大,直到找到或者到达边界(即找不到)
1 | public boolean searchMatrix(int[][] matrix, int target) { |
最后更新: 2020年06月12日 22:30
原始链接: http://roooooobin.github.io/2020/06/12/Search-a-2D-Matrix-II-Solution/