搜索二维矩阵【二分】

Problem: 74. 搜索二维矩阵

思路 & 解题方法

可以二分一次,也可以二分两次。

复杂度

时间复杂度:

添加时间复杂度, 示例: O ( l o g n + l o g m ) O(logn + logm) O(logn+logm)

空间复杂度:

添加空间复杂度, 示例: O ( 1 ) O(1) O(1)

二分两次

class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        m, n = len(matrix), len(matrix[0])
        top, but = 0, m - 1
        while top < but:
            mid = (top + but) // 2
            if matrix[mid][-1] < target:
                top = mid + 1
            elif matrix[mid][-1] >= target:
                but = mid
        if but >= 0 and but < m:
            left, right = 0, n - 1
            l = matrix[but]
            while left <= right:
                mid = (left + right) // 2
                if l[mid] > target:
                    right = mid - 1
                elif l[mid] < target:
                    left = mid + 1
                else:
                    return True
        return False

二分一次

class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        m, n = len(matrix), len(matrix[0])
        for l in matrix:
            if l[-1] < target:
                continue
            else:
                left, right = 0, n - 1
                while left <= right:
                    mid = (left + right) // 2
                    if l[mid] < target:
                        left = mid + 1
                    elif l[mid] > target:
                        right = mid - 1
                    else:
                        return True
                break
        return False

相关推荐

  1. 74.搜索矩阵

    2024-01-11 23:02:01       75 阅读
  2. 搜索矩阵【二分】

    2024-01-11 23:02:01       63 阅读
  3. 74. 搜索矩阵

    2024-01-11 23:02:01       59 阅读
  4. 74. 搜索矩阵

    2024-01-11 23:02:01       55 阅读
  5. 74. 搜索矩阵

    2024-01-11 23:02:01       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-11 23:02:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-11 23:02:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-11 23:02:01       82 阅读
  4. Python语言-面向对象

    2024-01-11 23:02:01       91 阅读

热门阅读

  1. 轻量级 HTTP 请求组件

    2024-01-11 23:02:01       53 阅读
  2. 力扣(leetcode)第520题检测大写字母(Python)

    2024-01-11 23:02:01       63 阅读
  3. docker资源控制

    2024-01-11 23:02:01       51 阅读
  4. 2024.1.11

    2024.1.11

    2024-01-11 23:02:01      53 阅读
  5. 基于uniapp 组件uniform 得自定义picker 选择器

    2024-01-11 23:02:01       47 阅读
  6. Sqlite3相关返回值

    2024-01-11 23:02:01       46 阅读
  7. springboot 集成kafka

    2024-01-11 23:02:01       57 阅读
  8. springboot常见注解

    2024-01-11 23:02:01       61 阅读
  9. GO语言Context的作用

    2024-01-11 23:02:01       43 阅读