当前位置: 首页 > news >正文

力扣热题100_二分查找_74_搜索二维矩阵

文章目录

  • 题目链接
  • 解题思路
  • 解题代码


题目链接

74. 搜索二维矩阵
给你一个满足下述两条属性的 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:
在这里插入图片描述
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

解题思路

全局二分
这个方法,是我们在二维矩阵上进行二分查找,这其实相当于把二维矩阵当做一维来做,要求每一行的最后一个元素小于下一行的第一个元素。
根据 mid 求出在二维矩阵中的具体位置,然后判断 left 和 right 的移动方式。整体做法和一维数组的二分没有区别。

解题代码

class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:M, N = len(matrix), len(matrix[0])left, right = 0, M * N - 1while left <= right:mid = left + (right - left) // 2cur = matrix[mid // N][mid % N]if cur == target:return Trueelif cur < target:left = mid + 1else:right = mid - 1return False

参考资料:力扣热题100对应的题解

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • WPF学习(8) --Windows API函数的使用
  • SSM环保知识普及平台—计算机毕业设计源码20330
  • JavaScript AI 编程助手
  • 回顾 | 瑞云科技亮相ICIC2024,虚拟仿真实训云平台引关注
  • 下载文件--后端返回文件数据,前端怎么下载呢
  • 论文阅读笔记:The Graph Neural Network Model
  • 微信小程序电话号码授权
  • 机器学习第十一章-特征选择与稀疏学习
  • Vue3.0生命周期钩子(包含:Vue 2.0 和 Vue 3.0)
  • JavaEE 的相关知识点(一)
  • [000-002-01].数据库调优相关学习
  • python提取b站视频的音频(提供源码
  • 华为---端口隔离简介和示例配置
  • 牛客周赛 Round 56
  • 索引——appinventor
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Java 网络编程(2):UDP 的使用
  • Java的Interrupt与线程中断
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Node + FFmpeg 实现Canvas动画导出视频
  • Odoo domain写法及运用
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • React+TypeScript入门
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue官网教程学习过程中值得记录的一些事情
  • 从伪并行的 Python 多线程说起
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 关于使用markdown的方法(引自CSDN教程)
  • 基于Android乐音识别(2)
  • 检测对象或数组
  • 简析gRPC client 连接管理
  • 前端面试总结(at, md)
  • 手写双向链表LinkedList的几个常用功能
  • 树莓派 - 使用须知
  • 物联网链路协议
  • 1.Ext JS 建立web开发工程
  • C# - 为值类型重定义相等性
  • elasticsearch-head插件安装
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #etcd#安装时出错
  • #pragma pack(1)
  • #图像处理
  • $.each()与$(selector).each()
  • $refs 、$nextTic、动态组件、name的使用
  • (1)(1.9) MSP (version 4.2)
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (k8s中)docker netty OOM问题记录
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (四) 虚拟摄像头vivi体验
  • (转) Android中ViewStub组件使用
  • (转)C#调用WebService 基础
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default