zoukankan      html  css  js  c++  java
  • 【leetcode】74. 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
  • 相关阅读:
    Struts2-result配置结果视图
    Struts2 -action处理业务请求
    struts 2
    mvc模式
    vue之webpack安装配置vue
    vue之webpack
    文件上传
    LinkedList详解
    ArrayList详解
    HashMap详解
  • 原文地址:https://www.cnblogs.com/seyjs/p/8890874.html
Copyright © 2011-2022 走看看