力扣hot100 ——搜索二维矩阵 || m+n复杂度优化解法

embedded/2025/2/25 3:15:33/

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

  • 每行的元素从左到右升序排列。
  • 每列的元素从上到下升序排列。

解题思路:

借助行和列有序特性,不断按行或者列缩小范围;途中数字表示每次执行,不同颜色框出的范围就是每次缩小后的区域,由于不是按行就是按列缩小,所以时间复杂度就是O(m+n)

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {// 边界缩小查找// 从右上角开始缩小;先水平调整,然后竖直缩小// 借助行和列有序特性,不断按行或者列缩小范围;由于不是按行就是按列缩小,所以时间复杂度就是O(m+n)int rows = matrix.size(),clos = matrix[0].size(); // row 行上限  clo 列上限int row = 0,clo = clos - 1;if(target > matrix[rows-1][clos - 1]){return false;}while(row < rows && clo >= 0){if(matrix[row][clo] == target){return true;}else if(matrix[row][clo] > target){--clo;}else{++row;}}return false;}
};


http://www.ppmy.cn/embedded/164941.html

相关文章

k8s Container runtime network not ready

问题 k8s 3 控制节点,docker 运行时,后期踢掉其中一个节点,使用了 containerd 运行时,但是在加入集群的时候,node 状态 notready。查看 kubelet 的日志发现如下报错 Feb 20 11:28:14 bjm3 kubelet[144781]: E0220 11:28:14.506374 144781 kubelet.go:2475] "Conta…

23种设计模式之《桥接模式(Bridge)》在c#中的应用及理解

程序设计中的主要设计模式通常分为三大类&#xff0c;共23种&#xff1a; 1. 创建型模式&#xff08;Creational Patterns&#xff09; 单例模式&#xff08;Singleton&#xff09;&#xff1a;确保一个类只有一个实例&#xff0c;并提供全局访问点。 工厂方法模式&#xff0…

设计模式相关知识点

目录 设计模式 设计模式 代码设计原则 设计模式 设计模式 干掉if...else&#xff0c;最好用的3种设计模式&#xff01; | 小傅哥 bugstack 虫洞栈 代码设计原则-CSDN博客 23种设计模式-CSDN博客 策略模式&#xff08;Strategy Pattern&#xff09;-CSDN博客 责任链模式…

C从入门到放弃篇1

各位新入坑C语言的朋友&#xff0c;你们有福了因为你们遇到了我&#xff0c;我会带你放弃C语言&#xff0c;哈哈哈哈哈。 其实&#xff0c;学任何东西都是循序渐进的&#xff0c;在学习的初期投入更多的精力&#xff0c;将来你会越学越快。我相信&#xff0c;放弃是最容易的事…

浏览器下载vue.js.devtools,谷歌浏览器和edg浏览器

1、谷歌浏览器下载&#xff1a; 情况一&#xff1a;如果谷歌应用商店可以打开&#xff0c;那么就直接到谷歌应用商店下载&#xff0c;直接搜索vue.js.devtools添加扩展即可。 情况二&#xff1a;谷歌浏览器的谷歌应用商城打不开&#xff0c;那么就百度搜索极简插件找到vue.js.…

50周学习go语言:第2周 基础语法与温度转换程序

以下是第二周Go语言基础语法的详细教程&#xff0c;包含变量声明、基本类型操作和温度转换任务的完整实现指南&#xff1a; 第二周&#xff1a;基础语法与温度转换程序 一、变量声明 1. var关键字声明 // 标准声明格式&#xff08;类型在变量名后&#xff09; var 变量名 类型…

Java版企电子招标采购系统源业码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…

python网络安全怎么学 python做网络安全

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 众所周知&#xff0c;python是近几年比较火的语言之一&#xff0c;它具有简单易懂、免费开源、可移植、可扩展、丰富的第三方库函数等特点&#xff0c;Java需要大…