Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 ta

Posted 桌子哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 ta相关的知识,希望对你有一定的参考价值。

题目:
搜索二维矩阵 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

以上是关于Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 ta的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 ta

Leetcode练习(Python):二分查找类:第240题:搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 ta

LeetCode(二分查找法) 入门练习一

LeetCode(二分查找法) 入门练习三

LeetCode(二分查找法) 入门练习二

数据结构和算法三个“二分查找”练习