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

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 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。…...

iOS中的KVO(Key-Value Observing)详解

iOS中的KVO&#xff08;Key-Value Observing&#xff09;详解 一、KVO概述 KVO&#xff08;Key-Value Observing&#xff09;&#xff0c;即键值观察/监听&#xff0c;是苹果提供的一套事件通知机制。它允许一个对象&#xff08;观察者&#xff09;观察/监听另一个对象&#…...

算法 —— 暴力枚举

目录 循环枚举 P2241 统计方形&#xff08;数据加强版&#xff09; P2089 烤鸡 P1618 三连击&#xff08;升级版&#xff09; 子集枚举 P1036 [NOIP2002 普及组] 选数 P1157 组合的输出 排列枚举 P1706 全排列问题 P1088 [NOIP2004 普及组] 火星人 循环枚举 顾名思…...

构造+有序集合,CF 1023D - Array Restoration

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1023D - Array Restoration 二、解题报告 1、思路分析 先考虑合法性检查&#xff1a; 对于数字x&#xff0c;其最左位置和最右位置 之间如果存在数字比x小&#xff0c;则非法 由于q次操作&#xff0c;第q…...

Scrapy 爬取旅游景点相关数据(四)

本节内容主要为&#xff1a; &#xff08;1&#xff09;创建数据库 &#xff08;2&#xff09;创建数据库表 &#xff08;3&#xff09;爬取数据进MYSQL库 1 新建数据库 使用MYSQL数据库存储数据&#xff0c;创建一个新的数据库 create database scrapy_demo;2 新建数据表 CR…...

Vue常用指令及其生命周期

作者&#xff1a;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除了单表之间的数据同步之外&#xff0c;也支持单表同步到多表&#xff0c;多表同步到单表&#xff0c;以及多表同步到多表&#xff0c;下面简单举例说明如何实现这些功能。 单表 to 单表 一个source&#xff0c;一个sink。 从mysql同步到mysql&#xff0c;…...

均匀圆形阵列原理及MATLAB仿真

均匀圆形阵列原理及MATLAB仿真 目录 前言 一、均匀圆阵原理 二、圆心不存在阵元方向图仿真 三、圆心存在阵元方向图仿真 四、MATLAB仿真代码 总结 前言 本文详细推导了均匀圆形阵列的方向图函数&#xff0c;对圆心不放置阵元和圆心放置阵元的均匀圆形阵列方向图都进行了仿…...

vue2使用univerjs

1、univerjs Univer 提供了一个全面的企业级文档与数据协同的解决方案&#xff0c;支持电子表格、文本文档和演示幻灯片三大核心文档类型。通过灵活的 API 和插件机制&#xff0c;开发者可以在 Univer 的基础上进行个性化功能的定制和扩展&#xff0c;以适应不同用户在不同场景…...

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题移动零

题目&#xff1a; 题解&#xff1a; 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 在统计学中&#xff0c;移动平均是通过创建整个数据集中不同选择的一系列平均值来分析数据点的计算。 …...

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 是一个分布式消息中间件和流计算平台&#xff0c;提供低延迟、高性能和可靠的队列服务&#xff0c;并且支持大规模的分布式系统。在详细介绍 RocketMQ 的整体架构之前&#xff0c;先了解其设计目标和核心特性是很重要的。RocketMQ 主要用于处理大规模的消息&am…...

优化医疗数据管理:Kettle ETL 数据采集方案详解

在现代医疗保健领域&#xff0c;数据的准确性、完整性和及时性对于提高医疗服务质量和患者护理至关重要。为了有效管理和利用医疗数据&#xff0c;Kettle ETL&#xff08;Extract, Transform, Load&#xff09;数据采集方案成为了许多医疗机构的首选工具之一。本文将深入探讨Ke…...

spring-from表单

在spring boot当中,from表单怎样开发(name=value) 先列出接口所需信息(抓包得到请求信息),将这些必要信息以注解的方式表达出来 步骤: 梳理前置条件(请求地址,请求header,请求方法,请求数据,响应结果)编辑一个普通类,在类上标记注解@Controller: 标记在类上,让类…...

【.NET】asp.net core 程序重启容器后redis无法连接,连接超时

环境是容器化部署asp.net core 程序当有大量请求打到容器如果此时重启容器会出现&#xff0c;redis无法连接情况。 使用 csredis 库报错&#xff1a; Status unavailable, waiting for recovery. Connect to server timeout 使用StackExchange.Redis 报错&#xff1a; Time…...

【vue前端项目实战案例】Vue3仿今日头条App

本文将开发一款仿“今日头条”的新闻App。该案例是基于 Vue3.0 Vue Router webpack TypeScript 等技术栈实现的一款新闻资讯类App&#xff0c;适合有一定Vue框架使用经验的开发者进行学习。 项目源码在文章末尾 1 项目概述 该项目是一款“今日头条”的新闻资讯App&#xf…...

技术驱动B端拓客升级:号码核验行业的痛点突围与发展新路径,氪迹科技核验筛选算法系统,法人股东核验,阶梯式价格

在B端市场竞争愈发精细化的当下&#xff0c;拓客工作的核心竞争力已从“广撒网”转向“精准触达”&#xff0c;而企业核心决策人的有效联系方式&#xff0c;正是精准拓客的关键载体。号码核验作为拓客流程的前置核心环节&#xff0c;直接决定着拓客投入的回报效率&#xff0c;更…...

RK3588开发板跑YOLOv5视频流demo,遇到Segmentation fault别慌!保姆级core文件生成与调试指南

RK3588开发板YOLOv5视频流推理崩溃排查&#xff1a;从Segmentation fault到精准调试全攻略 当你在RK3588开发板上满心期待地运行YOLOv5视频流推理demo时&#xff0c;屏幕上突然闪现的"Segmentation fault (core dumped)"就像一盆冷水浇灭了热情。这种崩溃提示信息量极…...

AI Agent 的动态知识更新:保持 LLM 知识的实时性

AI Agent 的动态知识更新:保持 LLM 知识的实时性 关键词:AI Agent、动态知识更新、大语言模型(LLM)、实时性、知识图谱 摘要:本文聚焦于 AI Agent 的动态知识更新,旨在探讨如何保持大语言模型(LLM)知识的实时性。首先介绍了相关背景,包括目的、预期读者等。接着阐述了…...

第三章 Qt 编译及安装

1. Qt 编译安装 2 Qt 在线安装 在线安装包的下载地址&#xff1a; https://download.qt.io/official_releases/online_installers/ Qt对不同的平台提供了不同版本的安装包&#xff0c;可根据实际情况自行下载安装&#xff0c;本文档使用qt-online-installer-windows-x64-on…...

手搓STM32H743开源飞控系列教程---(五) 飞控IMU方向调整

1. 为什么需要调整飞控IMU方向 第一次玩飞控的朋友可能会遇到一个奇怪现象&#xff1a;明明把飞控板水平放在桌面上&#xff0c;地面站显示的姿态却歪了30度。这种情况十有八九是IMU安装方向与飞控默认设定不匹配导致的。我刚开始玩穿越机时就踩过这个坑&#xff0c;当时把飞控…...

大模型私有化不是选型,是生存!Python工程师必须在Q3前掌握的5类国产化适配方案,否则明年项目全卡审批

第一章&#xff1a;大模型私有化是Python工程师的生存分水岭当企业开始将大语言模型从公有云API转向本地GPU集群部署&#xff0c;Python工程师的角色正经历一次静默但深刻的重构——不再只是调用requests.post()封装接口&#xff0c;而是要亲手构建模型加载、推理服务、权限控制…...

Google与Cohere发布新一代音频AI模型

Google LLC和Cohere Inc.今日发布了专为音频处理任务优化的新人工智能模型。这家搜索巨头的算法Gemini 3.1 Flash Live能够自动化客户服务交互。Cohere的新AI模型则专为语音转录而设计。两款模型的输出质量都比其前代产品有显著提升。企业可使用Gemini 3.1 Flash Live构建语音智…...

别再手动拖拽了!用Mermaid语法+draw.io,5分钟搞定系统设计流程图

从文本到图表&#xff1a;Mermaid与draw.io的高效设计工作流革命 每次系统设计会议后&#xff0c;你是否也经历过这样的场景&#xff1a;白板上密密麻麻的逻辑草图需要转化为电子版&#xff0c;而传统拖拽式绘图工具让你在调整箭头和对齐方框上耗费半小时&#xff1f;作为经历…...

SDMatte Web服务灰度发布:新模型版本AB测试与用户反馈闭环机制

SDMatte Web服务灰度发布&#xff1a;新模型版本AB测试与用户反馈闭环机制 1. 引言 在AI图像处理领域&#xff0c;模型迭代更新是持续提升服务质量的必经之路。SDMatte作为一款专注于高质量图像抠图的AI模型&#xff0c;近期完成了新版本SDMatte的研发工作。本文将详细介绍我…...

[特殊字符]空间智能目标追踪系统:从“看视频”到“掌控空间”的技术跃迁——多模态识别 × 空间建模 × 轨迹预测,让视频系统具备“感知与决策能力”[特殊字符] 视频系统的终极形态,不是记录世

&#x1f6a8;空间智能目标追踪系统&#xff1a;从“看视频”到“掌控空间”的技术跃迁——多模态识别 空间建模 轨迹预测&#xff0c;让视频系统具备“感知与决策能力”&#x1f4a5; 视频系统的终极形态&#xff0c;不是记录世界&#xff0c;而是理解世界。一、系统定位&am…...