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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 [LeetCode] 1074. Number of Submatrices That Sum to Target 元素和為目標值的子矩陣數量 刷題:給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和為目標值的那 兩個 整數,並返回他們的數組下標。 題1:給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數 二維數組中的查找:在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 [LeetCode] Search a 2D Matrix II 搜索一個二維矩陣之二 題目描述 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和為目標值的那 兩個 整數,並返回他們的數組下標。 給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和為目標值的那 兩個 整數,並返回他們的數組下標。 用js方法給定一個整數數組nums和一個目標值target,在該數組中找出和為目標值的那兩個整數,並返回他們的下標 給定一個整數數組 nums 和一個目標值 target,求nums和為target的兩個數的下表
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM