LeetCode Hot100 搜索二维矩阵
给你一个满足下述两条属性的 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
思路
第一次
两次二分查找,先找行,再找列,注意数组不要越界。复杂度上logmn
第二次
当一维数组做,复杂度同logmn
代码
第一遍
class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int i = 0,j = matrix.size()-1;int m,row;while(i<=j){m = i+ (j-i)/2;if(matrix[m][0] == target)return true;else if(matrix[m][0] > target){j = m-1;}elsei = m+1;}if((row = i-1) < 0)return false;i = 0;j = matrix[0].size()-1;while(i<=j){m = i + (j-i)/2;if(matrix[row][m] == target)return true;else if(matrix[row][m] > target)j = m-1;elsei = m+1;}return false;}
};
第二遍
class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int i = 0,j = matrix.size()*matrix[0].size()-1;int m,size = matrix[0].size();int row,col;while(i<=j){m = i+ (j-i)/2;row = m/size;col = m%size;if(matrix[row][col] == target)return true;else if(matrix[row][col] > target){j = m-1;}elsei = m+1;}return false;}
};
相关文章:
LeetCode Hot100 搜索二维矩阵
给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。…...
iOS中的KVO(Key-Value Observing)详解
iOS中的KVO(Key-Value Observing)详解 一、KVO概述 KVO(Key-Value Observing),即键值观察/监听,是苹果提供的一套事件通知机制。它允许一个对象(观察者)观察/监听另一个对象&#…...
算法 —— 暴力枚举
目录 循环枚举 P2241 统计方形(数据加强版) P2089 烤鸡 P1618 三连击(升级版) 子集枚举 P1036 [NOIP2002 普及组] 选数 P1157 组合的输出 排列枚举 P1706 全排列问题 P1088 [NOIP2004 普及组] 火星人 循环枚举 顾名思…...
构造+有序集合,CF 1023D - Array Restoration
一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1023D - Array Restoration 二、解题报告 1、思路分析 先考虑合法性检查: 对于数字x,其最左位置和最右位置 之间如果存在数字比x小,则非法 由于q次操作,第q…...
Scrapy 爬取旅游景点相关数据(四)
本节内容主要为: (1)创建数据库 (2)创建数据库表 (3)爬取数据进MYSQL库 1 新建数据库 使用MYSQL数据库存储数据,创建一个新的数据库 create database scrapy_demo;2 新建数据表 CR…...
Vue常用指令及其生命周期
作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 目录 1.常用指令 1.1 v-bind 1.2 v-model 注意事项 1.3 v-on 注意事项 1.4 v-if / v-else-if / v-else 1.5 v-show 1.6 v-for 无索引 有索引 生命周期 定义 流程 1.常用指令 Vue当中的指令…...
简化数据流:Apache SeaTunnel实现多表同步的高效指南
Apache SeaTunnel除了单表之间的数据同步之外,也支持单表同步到多表,多表同步到单表,以及多表同步到多表,下面简单举例说明如何实现这些功能。 单表 to 单表 一个source,一个sink。 从mysql同步到mysql,…...
均匀圆形阵列原理及MATLAB仿真
均匀圆形阵列原理及MATLAB仿真 目录 前言 一、均匀圆阵原理 二、圆心不存在阵元方向图仿真 三、圆心存在阵元方向图仿真 四、MATLAB仿真代码 总结 前言 本文详细推导了均匀圆形阵列的方向图函数,对圆心不放置阵元和圆心放置阵元的均匀圆形阵列方向图都进行了仿…...
vue2使用univerjs
1、univerjs Univer 提供了一个全面的企业级文档与数据协同的解决方案,支持电子表格、文本文档和演示幻灯片三大核心文档类型。通过灵活的 API 和插件机制,开发者可以在 Univer 的基础上进行个性化功能的定制和扩展,以适应不同用户在不同场景…...
VUE3 el-table-column header新增必填*
1.在需要加必填星号的el-table-column上添加render-header属性 <el-table-column :label"getName(产品代码)" :render-header"addRedStart" prop"MODELCODE" min-width“4.5%”> <template v-slot"scope"> <el-input …...
条件概率和贝叶斯公式
...
Kali中docker与docker-compose的配置
权限升级 sudo su 升级为root用户 更新软件 apt-get update安装HTTPS协议和CA证书 apt-get install -y apt-transport-https ca-certificates下载docker apt下载docker apt install docker.io 验证docker安装是否成功 查版本 docker -v 启动docker systemctl start …...
C++ | Leetcode C++题解之第283题移动零
题目: 题解: class Solution { public:void moveZeroes(vector<int>& nums) {int n nums.size(), left 0, right 0;while (right < n) {if (nums[right]) {swap(nums[left], nums[right]);left;}right;}} };...
Exponential Moving Average (EMA) in Stable Diffusion
1.Moving Average in Stable Diffusion (SMA&EMA) 1.Moving average 2.移动平均值 3.How We Trained Stable Diffusion for Less than $50k (Part 3) Moving Average 在统计学中,移动平均是通过创建整个数据集中不同选择的一系列平均值来分析数据点的计算。 …...
017、Vue动态tag标签
文章目录 1、先看效果2、代码 1、先看效果 2、代码 <template><div class "tags"><el-tag size"medium"closable v-for"item,index in tags":key"item.path":effect"item.title$route.name?dark:plain"cl…...
RocketMQ 架构概览
Apache RocketMQ 是一个分布式消息中间件和流计算平台,提供低延迟、高性能和可靠的队列服务,并且支持大规模的分布式系统。在详细介绍 RocketMQ 的整体架构之前,先了解其设计目标和核心特性是很重要的。RocketMQ 主要用于处理大规模的消息&am…...
优化医疗数据管理:Kettle ETL 数据采集方案详解
在现代医疗保健领域,数据的准确性、完整性和及时性对于提高医疗服务质量和患者护理至关重要。为了有效管理和利用医疗数据,Kettle ETL(Extract, Transform, Load)数据采集方案成为了许多医疗机构的首选工具之一。本文将深入探讨Ke…...
spring-from表单
在spring boot当中,from表单怎样开发(name=value) 先列出接口所需信息(抓包得到请求信息),将这些必要信息以注解的方式表达出来 步骤: 梳理前置条件(请求地址,请求header,请求方法,请求数据,响应结果)编辑一个普通类,在类上标记注解@Controller: 标记在类上,让类…...
【.NET】asp.net core 程序重启容器后redis无法连接,连接超时
环境是容器化部署asp.net core 程序当有大量请求打到容器如果此时重启容器会出现,redis无法连接情况。 使用 csredis 库报错: Status unavailable, waiting for recovery. Connect to server timeout 使用StackExchange.Redis 报错: Time…...
【vue前端项目实战案例】Vue3仿今日头条App
本文将开发一款仿“今日头条”的新闻App。该案例是基于 Vue3.0 Vue Router webpack TypeScript 等技术栈实现的一款新闻资讯类App,适合有一定Vue框架使用经验的开发者进行学习。 项目源码在文章末尾 1 项目概述 该项目是一款“今日头条”的新闻资讯App…...
长期使用Taotoken对接各类工具后的稳定性综合观感
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken对接各类工具后的稳定性综合观感 作为一名长期将大模型能力集成到日常开发与自动化流程中的开发者,我…...
POE是什么?
POE 一般指 Power over Ethernet(以太网供电)。 通俗理解 用 一根网线(RJ45) 同时做两件事: 传数据(上网、通信) 给设备供电(不用单独再接电源适配器) 常见场景:IP 摄像头、无线 AP、部分 Orange Dongle / 底座,实验室用 PoE 交换机或 PoE 适配器 给 Dongle 供电…...
Web安全入门避坑指南:用Pikachu靶场搞懂文件上传的3种Check方式(前端、MIME、getimagesize)
Web安全实战:Pikachu靶场文件上传漏洞攻防全解析 当你第一次接触Web安全时,文件上传功能可能是最令人兴奋又最危险的漏洞之一。想象一下,攻击者仅通过一个看似无害的上传表单就能完全控制你的服务器——这不是电影情节,而是每天都…...
基于stm32的感应式路灯(有完整资料)
编号:CJ-32-2022-158 设计简介: 本设计是基于stm32的感应式路灯设计,主要实现以下功能: 1,本设计中采用STM32F103C6T6单片机作为控制核心。 2,可通过按键设置时间、切换模式、调整灯亮度等。 3࿰…...
YOLO26驱动的足球比赛多目标检测系统:球员、守门员、裁判与足球的实时识别(项目源码+数据集+模型权重+UI界面+python+深度学习+远程环境部署)
摘要 足球作为全球最受欢迎的体育运动之一,其数字化分析对于战术研究、运动员评估和比赛裁判具有重要意义。本文基于YOLO目标检测算法,构建了一套足球运动员识别检测系统,实现对比赛场景中足球、守门员、球员和裁判四类目标的自动检测与定位…...
Adafruit M4SK开发板外设接口实战:从I2C到PDM麦克风的嵌入式交互设计
1. 项目概述与核心价值如果你正在寻找一款既能玩转嵌入式图形界面,又能轻松连接各种传感器、执行器,并且自带丰富交互外设的开发板,Adafruit M4SK绝对是一个会让你眼前一亮的选项。它不像传统的单片机开发板那样“光秃秃”,而是将…...
如何用WeChatExporter一键备份微信聊天记录:完整图文教程
如何用WeChatExporter一键备份微信聊天记录:完整图文教程 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否担心换手机后珍贵的微信聊天记录会消失&#…...
Radiology(IF=15.2)中南大学湘雅二医院肖煜东教授等团队:基于CT放射组学的机器学习识别肝细胞癌瘤内纤维化及其潜在血管生成
01文献学习今天分享的文献是由中南大学湘雅二医院肖煜东教授等团队于2026年5月在放射学领域顶刊《Radiology》(中科院1区top,IF15.2)上发表的研究“CT Radiomics-based Machine Learning to Identify Intratumoral Fibrosis and Underlying A…...
苏州配电工程为什么优先本地一站式厂家?
配电工程常见的落地痛点在苏州,各类配电工程项目数量众多,推进过程中普遍存在多方对接复杂、流程繁琐、责任推诿等问题。若将设计、生产、安装、售后等环节分别委托给不同单位,一旦出现问题,各方往往互相推诿,责任难以…...
工程化AI编程:claude-code-blueprint项目实战与最佳实践
1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫“claude-code-blueprint”,作者是lethilu4796。乍一看这个标题,你可能会觉得这又是一个普通的代码生成工具或者AI辅助编程的脚本。但当我深入研究了它的源码和使用方式后&…...
