• 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
  • 相关阅读:
    [转]如何有效运作知识库
    针式PKM如何帮助你解决个人知识管理中的常见问题?
    知识管理的目的是什么?如何进行知识管理?
    [转]阅读《讀書這玩意兒》有感&笔记
    [转]学习的三个层次
    小鱼干的做法
    IIS ERROR: Server Application Error 和 IIS与.NET Framework的安装顺序问题
    C#调用oracle存储过程 最简单的实例
    Oracle 中游标实例
    查看Sql Server是否有打SP4
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12874802.html
Copyright © 2020-2023  润新知