news 2026/8/16 15:21:23

hot100-51搜索二维矩阵

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hot100-51搜索二维矩阵

一、题目

m×n的矩阵,每行中的整数从左到右递增排列,每行第一个整数大于前一行的最后一个整数。

给定矩阵和target,如果target在矩阵中,返回true,否则返回false。

二、思路

1、这个题目和 搜索二维矩阵 II 做法可以相同,从右上角开始搜索。如果当前值大于 target→ 向左走(排除这一列);如果当前值小于 target→ 向下走(排除这一行);如果相等 → 找到了!

2、这个题目的特性是,每行的第一个元素 > 上一行的最后一个怨怒是,说明所有行是严格递增拼接的,使用上面的解法时间复杂度是O(m+n),如果使用二分查找时间复杂度是O(log(mn))。

展开为一个一维数组,总长度m x n,在[0,N-1]范围内进行二分查找。对于任意一维索引mid,转换为二维坐标,行号:row=mid/n,列号:col=mid%n。比较matrix[m][n]与target,调整左右边界。

int row = mid / n; // 整除 → 得到“完整行数”

int col = mid % n; // 取余 → 得到“在该行中的偏移”

三、代码

class Solution { public boolean searchMatrix(int[][] matrix, int target) { int m = matrix.length-1,n = matrix[0].length-1; int row = 0, col = n; while(row <= m && col >= 0){ if(matrix[row][col] == target){ return true; }else if(matrix[row][col] > target){ col--; }else{ row++; } } return false; } }

做法二

class Solution { public boolean searchMatrix(int[][] matrix, int target) { int m = matrix.length,n = matrix[0].length; int left=0,right = m*n -1; while(left <= right){ int mid = left + (right - left) /2; int row = mid / n; int col = mid % n; if(matrix[row][col] == target){ return true; }else if(matrix[row][col] < target){ left = mid + 1; }else{ right = mid - 1; } } return false; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/8 19:04:33

如何快速解锁Spotify高级功能:EeveeSpotify完整使用教程

想要免费享受Spotify Premium的所有特权吗&#xff1f;EeveeSpotify就是你的终极解决方案&#xff01;这款强大的工具让你无需付费订阅即可体验Spotify高级功能&#xff0c;包括无广告音乐、任意顺序播放和离线下载等完整体验。无论你是音乐发烧友还是日常听歌用户&#xff0c;…

作者头像 李华
网站建设 2026/8/3 7:36:55

18、搜索引擎评估与性能分析全解析

搜索引擎评估与性能分析全解析 在当今信息爆炸的时代,搜索引擎成为了人们获取信息的重要工具。然而,如何评估搜索引擎的性能和质量,成为了一个关键问题。本文将深入探讨搜索引擎评估的相关指标、方法,以及如何通过这些评估来选择最适合自己需求的搜索引擎。 性能参数评估…

作者头像 李华
网站建设 2026/8/8 20:36:06

移动端签名零延迟技巧:signature_pad性能优化全攻略

"签名怎么又断线了&#xff1f;"、"笔画粗细完全不听使唤"——这些移动端签名的尴尬瞬间&#xff0c;是否也让你头疼不已&#xff1f;作为基于HTML5 Canvas的签名解决方案&#xff0c;signature_pad在桌面端表现出色&#xff0c;但在移动设备上却常常"…

作者头像 李华
网站建设 2026/8/9 9:59:01

27、搜索引擎搜索结果的可信度评估与自动分类

搜索引擎搜索结果的可信度评估与自动分类 1. 网页体裁分类概述 网页体裁分类反映了网页发布的目的,主要分为提供事实信息(客观信息)、交流观点和经验(主观信息)以及推广或销售产品服务(商业信息)。Finn和Kushmerick在2006年开发了自动分类器,可区分网络新闻文章的“客…

作者头像 李华
网站建设 2026/8/9 8:02:30

QT局域网聊天室:打造高效内部沟通的完美解决方案

QT局域网聊天室&#xff1a;打造高效内部沟通的完美解决方案 【免费下载链接】LAN-Chat-Room &#x1f609;基于QT开发的局域网聊天室 项目地址: https://gitcode.com/gh_mirrors/la/LAN-Chat-Room 在数字化协作日益重要的今天&#xff0c;局域网内部沟通的效率直接影响…

作者头像 李华