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

相关文章:

  • 2022-12-23
  • 2021-05-13
  • 2021-05-21
  • 2021-08-12
  • 2021-04-22
  • 2021-05-15
  • 2022-12-23
  • 2021-12-19
猜你喜欢
  • 2021-12-19
  • 2021-10-07
  • 2021-12-03
  • 2022-12-23
  • 2021-12-22
  • 2021-10-25
  • 2021-12-12
相关资源
相似解决方案