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

力扣 240.搜素矩阵II

题目描述

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

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

示例 1:

输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5
输出:true

示例 2:

输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 20
输出:false

题解1

比较巧妙的排除法,首先从矩阵的右上角开始找起,如果右上角元素x比target大,那么说明右上角这一列都不会存在target,因此这一列就不需要再遍历;如果x比target小,那么就说明,右上角这一行都不会存在target,排除这一行。

实现代码

public static boolean searchMatrix2(int[][] matrix, int target) {int m  = matrix.length;//行数int n  = matrix[0].length;//列数int i  = 0 ;int j = n-1;while(i<m&&j>=0){if(matrix[i][j]==target){return true;}else if(matrix[i][j]>target){j--;}else{i++;}}return false;}

题解2

 使用常规方法对每一行进行二分查找,看是否存在target

实现代码

int m = matrix.length;int n = matrix[0].length;for (int i = 0; i < m; i++) {int l = 0;int r = n-1;while(l<=r){int mid = (r-l)/2+l;if(matrix[i][mid]==target){return true;}else if(matrix[i][mid]>target){r = mid-1;}else{l = mid+1;}}}return false;

相关文章:

力扣 240.搜素矩阵II

题目描述&#xff1a; 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9…...

ASUS华硕ROG幻14Air笔记本GA403UI(UI UV UU UJ)工厂模式原厂Windows11系统安装包,带MyASUS in WinRE重置还原

适用型号&#xff1a;GA403UI、GA403UV、GA403UU、GA403UJ 链接&#xff1a;https://pan.baidu.com/s/1tz8PZbYKakfvUoXafQPLIg?pwd1mtc 提取码&#xff1a;1mtc 华硕原装WIN11系统工厂包带有ASUS RECOVERY恢复功能、自带面部识别,声卡,显卡,网卡,蓝牙等所有驱动、出厂主题…...

Spring Boot通过自定义注解和Redis+Lua脚本实现接口限流

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…...

硬件工程师的蜗牛成长路

一名合格的硬件工程师&#xff0c;需要掌握的知识有很多&#xff0c;知识点积累不是一蹴而就&#xff0c;而是细水长流&#xff0c;螺旋提升&#xff0c;不急&#xff0c;慢慢来&#xff0c;想掌握的都能掌握&#xff0c;就让时间来见证个人的成长路径。 ---大青山 2024/6/10 …...

简单记录玩4399游戏flash插件问题

一、因谷歌浏览器默认禁止flash插件自动运行,所以玩家在使用谷歌浏览器,访问www.4399.com平台页面或者4399小游戏(flash资源)时,可能会出现加载异常的情况。今天教大家如何开启flash插件 二、下载falsh官方插件 地址:Flash Player官方下载中心-Flash中国官网 三、如果您…...

GNU/Linux - 使用字符设备来操作GPIO

从 4.8 版开始&#xff0c;Linux 内核引入了基于字符设备的新用户空间 API&#xff0c;用于管理和控制 GPIO&#xff08;通用输入/输出&#xff09;。这篇文章介绍了新接口的基本原理&#xff0c;并通过一个简单的教程/示例演示了如何使用新 API 控制 GPIO。 教程中使用的硬件是…...

Android13 Settings 左上角箭头图标点击无效

最近在修改A311D2方案固件&#xff0c;系统Settings发现很多bug 最明显的是左上角有个箭头样子的图标&#xff0c;通常认为是返回键&#xff0c;点击之后没有任何效果&#xff0c;目测这个是ActionBar的按键。 SettingsBaseActivity里面有一段这样的代码&#xff1a; // Th…...

WinForms 应用(.NET 8.0)使用ReportViewerCore.WinForms显示打印RDLC报表

在要WinForms 应用&#xff08;.NET 8.0&#xff09;中&#xff0c;显示RDLC报表&#xff0c;就要使用ReportViewerCore.WinForms。原来的ReportViewer只能在.NET Framework框架下运行。 1.ReportViewerCore.WinForms 程序包说明 SQL Server Reporting Services ReportViewer…...

【网络安全】【深度学习】【入侵检测】SDN模拟网络入侵攻击并检测,实时检测,深度学习

文章目录 1. 前言2. Mininet 和 Ryu 的区别2.1 Mininet2.2 Ryu2.3 总结 3. 模拟攻击3.1 环境准备3.2 创建 Mininet 网络拓扑3.2 启动 Ryu 控制器3.3 模拟网络攻击3.4 捕获流量 4. 实时异常检测4.1 在 Ryu 控制器中4.2 在 h2 机器上的实验结果4.3 深度学习模型部署上h2机器 帮助…...

【CentOS】手动编译安装make、cmake、gcc、git

摘要 Centos7升级make和gcc版本到最新——CSDN make make 各个版本下载地址 http://ftp.gnu.org/pub/gnu/make 以4.4为例安装&#xff1a; # 下载 wget https://ftp.gnu.org/pub/gnu/make/make-4.4.tar.gz # 解压配置 tar zxf make-4.4.tar.gz cd make-4.4 ./configure --p…...

45.django - 开始建立第一个项目

1.django是什么&#xff1f; Django是一个高级的、免费的、开源的Web应用框架&#xff0c;它由Python编程语言编写而成。Django遵循模型-视图-控制器&#xff08;MVC&#xff09;的设计模式&#xff0c;但通常将其称为模型-视图-模板&#xff08;MVT&#xff09;架构。它的主要…...

# 梯影传媒T6投影仪刷机方法及一些刷机工具链接

梯影传媒T6投影仪刷机方法及一些刷机工具链接 文章目录 梯影传媒T6投影仪刷机方法及一些刷机工具链接1、安装驱动程序2、备份设备rom【boot、system】3、还原我要刷进设备的rom【system】4、打开开发者模式以便于安装apk5、root设备6、更多好链接&#xff1a; 梯影传媒T6使用的…...

【代码随想录算法训练营第37期 第三十二天 | LeetCode122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II】

代码随想录算法训练营第37期 第三十二天 | LeetCode122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II 一、122.买卖股票的最佳时机II 解题代码C&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {int result 0;for(int i 1; i &…...

DP:回文串模型

一、回文子串 . - 力扣&#xff08;LeetCode&#xff09; 该题有3种解法 &#xff08;1&#xff09;中心扩展算法&#xff08;在字符串章节有介绍&#xff09;时间复杂度O&#xff08;N^2&#xff09;,空间复杂度O&#xff08;1&#xff09; &#xff08;2&#xff09;马丁车…...

STM32CubeMX软件的安装以及配置

STM32CubeMX软件的配置过程可以详细分为以下几个步骤&#xff0c;以确保您能够顺利地使用该软件进行STM32微控制器的配置和代码生成&#xff1a; 1. 安装前准备 安装JAVA环境&#xff1a;由于STM32CubeMX软件是基于JAVA环境运行的&#xff0c;所以需要先安装Java Runtime Env…...

【适配鸿蒙next】Flutter 新一代混合栈管理框架

前言 据最新消息显示&#xff0c;华为今年下半年将全面转向其自主平台HarmonyOS&#xff0c;放弃Android系统。 报道中提到&#xff0c;下一版HarmonyOS预计将随华为即将推出的Mate 70旗舰系列一起发布。 据悉&#xff0c;HarmonyOS Next 已经扩展到4000个应用程序&#xff0c;…...

车载电子电气架构 --- 车载信息安全

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…...

【数据结构(邓俊辉)学习笔记】图04——双连通域分解

文章目录 0. 概述1 关节点与双连通域2 蛮力算法3 可行算法4 实现5 示例6 复杂度 0. 概述 学习下双连通域分解&#xff0c;这里略微有一点点难&#xff0c;这个算是DFS算法的非常非常经典的应用&#xff0c;解决的问题也非常非常有用。 1 关节点与双连通域 连通性很好理解&am…...

UI学习(二)

UI学习&#xff08;二&#xff09; 文章目录 UI学习&#xff08;二&#xff09;布局子视图手动布局自动布局 导航控制器导航控制器基础导航控制器的切换导航栏工具栏 分栏控制器分栏控制器协议部分的内容UITableView基础部分相关的协议函数高级协议与单元格 多界面传值 布局子视…...

【嵌入式】波特率9600,发送8个字节需要多少时间,如何计算?

问题&#xff1a; 波特率9600&#xff0c;发送 01 03 00 00 00 04 44 09 (8字节) 需要多少时间&#xff0c;如何计算&#xff1f; 在计算发送数据的时间时&#xff0c;首先要考虑波特率以及每个字符的数据格式。对于波特率9600和标准的UART数据格式&#xff08;1个起始位&…...

从5G到Wi-Fi:深入浅出聊聊Eb/N0这个‘归一化‘指标到底牛在哪

从5G到Wi-Fi&#xff1a;深入浅出聊聊Eb/N0这个"归一化"指标到底牛在哪 想象你站在两个不同的菜市场门口&#xff1a;一个摊位密集人声鼎沸&#xff0c;另一个宽敞安静但摊主吆喝声微弱。如果只比较整体噪音水平&#xff08;类似SNR&#xff09;&#xff0c;可能会得…...

SillyTavern角色创建完全指南:从入门到精通

SillyTavern角色创建完全指南&#xff1a;从入门到精通 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 一、基础认知&#xff1a;揭开角色系统的面纱 1.1 什么是角色系统&#xff1f; 想…...

Homepage终极灾难恢复指南:保障业务连续性的完整策略

Homepage终极灾难恢复指南&#xff1a;保障业务连续性的完整策略 【免费下载链接】homepage 一个高度可定制的主页&#xff08;或起始页/应用程序仪表板&#xff09;&#xff0c;集成了Docker和服务API。 项目地址: https://gitcode.com/GitHub_Trending/ho/homepage Ho…...

超图神经网络(HGNN)实战:从多模态数据构建到节点特征提取

超图神经网络实战&#xff1a;多模态数据融合与节点特征提取全流程解析 在电商推荐系统中&#xff0c;我们常常需要同时处理用户行为日志、商品图像和评论文本——这三种异构数据如何统一建模&#xff1f;传统图神经网络&#xff08;GNN&#xff09;在处理这类多模态关联时往往…...

告别纸上谈兵:用Wireshark抓包实战分析FlexRay帧格式(含CRC校验)

实战解析FlexRay帧格式&#xff1a;用Wireshark抓包验证CRC与网络管理向量 车载工程师们常遇到这样的困境&#xff1a;明明熟读FlexRay协议文档&#xff0c;面对真实总线数据时却无从下手。本文将带您用Wireshark完成从抓包到解析的全流程实战&#xff0c;重点破解Header CRC校…...

基于 Simulink 的 多目标优化:效率 + 动态响应 + 纹波

手把手教你学Simulink——基于 Simulink 的 多目标优化&#xff1a;效率 动态响应 纹波一、引言&#xff1a;为什么 DC-DC 变换器需要多目标优化&#xff1f;在数据中心服务器电源、电动汽车 OBC、5G 基站供电等场景中&#xff0c;Buck 变换器需同时满足&#xff1a;&#x1…...

Xinference-v1.17.1优化技巧:如何提升模型加载速度和推理性能,节省硬件资源

Xinference-v1.17.1优化技巧&#xff1a;如何提升模型加载速度和推理性能&#xff0c;节省硬件资源 你是否遇到过这样的困扰&#xff1a;每次加载大语言模型都要等待漫长的几分钟&#xff1f;推理过程中GPU内存爆满导致程序崩溃&#xff1f;或者看着高昂的云计算账单发愁&…...

BilibiliDown革新性视频下载解决方案:从需求到实践的全方位指南

BilibiliDown革新性视频下载解决方案&#xff1a;从需求到实践的全方位指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_…...

Akagi:麻将智能决策的创新辅助方法——从牌局困境到战术精通的实践指南

Akagi&#xff1a;麻将智能决策的创新辅助方法——从牌局困境到战术精通的实践指南 【免费下载链接】Akagi A helper client for Majsoul 项目地址: https://gitcode.com/gh_mirrors/ak/Akagi Akagi作为一款专为雀魂玩家设计的AI辅助工具&#xff0c;通过实时牌局分析与…...

lt6911c全套资料:原理图、PCB、源代码及手册

lt6911c全套资料&#xff0c;包括原理图&#xff0c;pcb&#xff0c;源代码&#xff0c;寄存器手册&#xff0c;datasheet。 。 最近在折腾LT6911C这款HDMI转MIPI的芯片&#xff0c;翻遍全网总算集齐了全套开发资料。这玩意儿在视频转换领域用得挺多&#xff0c;但真开始动手调…...