leetcode74. Search a 2D Matrix & 240. Search a 2D Matrix II
Posted seyjs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode74. Search a 2D Matrix & 240. Search a 2D Matrix II相关的知识,希望对你有一定的参考价值。
题目如下:这两个题目可以用同样的代码来解答,因此就合并在一起了。
题目一:
题目二:
解题思路:两个题目的唯一区别在于第二个题目下一行的最小值不一定会小于前一行的最大值。但是不管怎么样我们可以确定的是,如果某一行的最小值都比target要大,那么这一行之后的值都比target要大。如果target介于某一行的最小值和最大值之间,那么target有可能在这一行。至于如何判断target是否存在,因为数组有序,用二分查找即可。
代码如下:
class Solution(object): def searchMatrix(self, matrix, target): import bisect ROW = len(matrix) if ROW == 0: return False COLUMN = len(matrix[0]) if COLUMN == 0: return False for i in matrix: if i[0] <= target and i[-1] >= target: inx = bisect.bisect_left(i,target) if i[inx] == target: return True elif i[0] > target: break return False
以上是关于leetcode74. Search a 2D Matrix & 240. Search a 2D Matrix II的主要内容,如果未能解决你的问题,请参考以下文章
leetcode 74 Search a 2D Matrix ----- java
LeetCode 74.Search a 2D Matrix Java
19.2.13 [LeetCode 74] Search a 2D Matrix
[LeetCode] 74. Search a 2D Matrix 搜索一个二维矩阵