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

【Swift】LeetCode 240.搜索二维矩阵 II

240.搜索二维矩阵 II

在这里插入图片描述

题目描述

请添加图片描述

思路 and Swift 题解

这道题可以使用二分搜索来快速解决。

具体来说,首先比较数组当中一行的第一个元素是否比target大,如果是的话,那么就没有继续比下去的必要了,因为后面的数必然都比target大,直接返回false

否则,对这一行进行二分搜索。我们采用左闭右开的方式进行搜索,如果nums[l] == target,则返回true。否则继续去下一行进行比对与二分搜索。

一个优化是,可以首先让target与这一行的首尾元素进行比较。如果target在首尾元素构成的闭区间当中,再进行二分搜索。

完整的 Swift 题解是:

class Solution {func searchMatrix(_ matrix: [[Int]], _ target: Int) -> Bool {var m = matrix.countvar n = matrix[0].countfor i in 0..<m {if target < matrix[i][0] {return false} else {var l = 0, r = n - 1while l < r {var mid = (l + r) / 2if matrix[i][mid] < target {l = mid + 1} else {r = mid}}if matrix[i][l] == target {return true}}}return false}
}
http://www.dtcms.com/a/560879.html

相关文章:

  • 矩阵(板子)
  • 防火墙的内容补充
  • C++类和对象(下):初始化列表
  • 建筑工程找活网站wordpress文章新窗口
  • 沭阳城乡建设局网站做外国网站百度搜到
  • java-接口适配器模式 jsk8 接口默认实现
  • program.cs文件详解
  • 深圳市企业网站seo做东西的网站有那些
  • 京东测开面经整理(日常实习)
  • 大文件上传
  • 做ppt找图片网站推广网发布的信息准确吗
  • Linux内核POSIX文件锁机制深度解析
  • 从“CPU 烧开水“到优雅暂停:Go 里 sync.Cond 的正确打开方式
  • 大模型系列——Excel数据治理新思路:引入智能体实现自动纠错【Python+Agent】
  • Pyppeteer 使用教程
  • React性能优化:useMemo vs useCallback
  • Onsemi展示了垂直GaN-on-GaN半导体
  • 专业机票网站建设禅城区建设局网站
  • Java 日志演进:一文读懂主流框架
  • 第3章 变量与数据类型
  • pyside6 qt 事件循环
  • Secertpad搭建
  • 吞吐量、延迟、内存:深入理解垃圾回收的“三元悖论”
  • List接口和常用方法
  • 计算机一级考试网站怎么做用织梦系统做网站产权
  • Java 数据结构第二十八期:反射、枚举以及 lambda 表达式
  • Linux 磁盘分区与系统监控完全指南
  • 是普通网站地图好还是rss地图好一点网站建设申请费用
  • 使用Graphics2D创建滑块验证码
  • Flutter provide框架内部实现原理刨析