zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。

    题目:
    搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:  每行的元素从左到右升序排列。 每列的元素从上到下升序排列。
    思路:
    二分查找常规思路。
    程序:
    class Solution:
        def searchMatrix(self, matrix, target):
            """
            :type matrix: List[List[int]]
            :type target: int
            :rtype: bool
            """
            if not matrix:
                return False
            row = len(matrix)
            column = len(matrix[0])
            if row == 0:
                return False
            if column == 0:
                return False
            for index in range(row):
                if target >= matrix[index][0] and target <= matrix[index][column - 1]:
                    left_index = 0
                    right_index = column - 1
                    while left_index <= right_index:
                        middle_index = (left_index + right_index) // 2
                        if matrix[index][middle_index] == target:
                            return True
                        elif matrix[index][middle_index] > target:
                            right_index = middle_index - 1
                        else:
                            left_index = middle_index + 1
            return False
  • 相关阅读:
    linux命令-定时任务at
    linux网络监控_网速测试
    Linux磁盘分区扩容
    Ubuntu配置SSH服务
    Ubuntu用户管理
    Ubuntu安装lrzsz
    Ubuntu系统配置apt-get软件更新源
    Ubuntu网络配置IP和DNS等,适用于14.04,16.04,17.10和18.04
    Ubuntu系统安装,适用于14.04,16.04和17.10
    使用nginx反向代理处理前后端跨域访问
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12874802.html
Copyright © 2011-2022 走看看