【leetcode100】搜索二维矩阵

1、题目描述

给你一个满足下述两条属性的 m x n 整数矩阵:

  • 每行中的整数从左到右按非严格递增顺序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false

示例 1:

复制代码
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true

2、初始思路

2.1 思路

先找到正确的行,再使用二分法在该行进行查找。

2.2 代码

复制代码
class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        m, n = len(matrix)-1, len(matrix[0])-1
        #print(m,n)
        i = 0
        while i < m:
            cur = matrix[i][n]
            if cur < target:
                i += 1
            else:
                break
        l, r= 0, n
        while(l <= r):
            mid = (l+r)//2
            if matrix[i][mid] < target:
                l = mid + 1
            elif matrix[i][mid] > target:
                r = mid - 1
            else:
                return True        
        return False
相关推荐
Ice__Cai2 分钟前
Python 基础详解:数据类型(Data Types)—— 程序的“数据基石”
开发语言·后端·python·数据类型
lilv6619 分钟前
python中用xlrd、xlwt读取和写入Excel中的日期值
开发语言·python·excel
程序员果子1 小时前
macOS Python 安装
python·macos
LetsonH1 小时前
⭐CVPR2025 RoboBrain:机器人操作的统一大脑模型[特殊字符]
人工智能·python·深度学习·计算机视觉·机器人
发发发发8881 小时前
leetcode 674.最长连续递增序列
java·数据结构·算法·leetcode·动态规划·最长连续递增序列
站大爷IP2 小时前
Django缓存机制详解:从配置到实战应用
python
叫我:松哥2 小时前
基于Python的实习僧招聘数据采集与可视化分析,使用matplotlib进行可视化
开发语言·数据库·python·课程设计·matplotlib·文本挖掘
站大爷IP2 小时前
Django模型开发全解析:字段、元数据与继承的实战指南
python
赵英英俊3 小时前
Python day37
人工智能·python·深度学习
山烛4 小时前
OpenCV 图像处理基础操作指南(一)
图像处理·人工智能·python·opencv·计算机视觉