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

力扣面试150题--搜索二维矩阵

Day 82

题目描述

在这里插入图片描述

思路

此题其实就是二分搜索的变形,
首先将确定要查询的数位于哪一行,由于二维数组是有序的,就比较每行的第一个元素和最后一个元素,这里直接相等就返回。
最后,锁定到某一行后,就采取二分查找,找到就返回true 没找到就到终止条件,跳出循环返回false。

class Solution {public boolean searchMatrix(int[][] matrix, int target) {//先确定在哪一个行int row=0;if(matrix[0].length==1){while(row<matrix.length){if(target==matrix[row][0]){return true;}row++;}return false;}while(true){if(target>=matrix[row][0]&&target<=matrix[row][matrix[row].length-1]){break;}row++;if(row>=matrix.length){return false;}}int beg=0;int end=matrix[row].length-1;int mid;while(beg<end){if(target==matrix[row][beg]||target==matrix[row][end]){return true;}mid=(beg+end)/2;if(target==matrix[row][mid]){return true;}else if(target<matrix[row][mid]){beg=beg;end=mid-1;}else{beg=mid+1;end=end;}}return false;}
}
http://www.lryc.cn/news/595327.html

相关文章:

  • A316-Mini-V1:超小尺寸USB高清音频解码器模组技术探析
  • 解决 Ant Design v5.26.5 与 React 19.0.0 的兼容性问题
  • macOS 上安装 Kubernetes(k8s)
  • React 中使用immer修改state摆脱“不可变”
  • Ubuntu安装k8s集群入门实践-v1.31
  • HOT100——图篇Leetcode207. 课程表
  • Redis入门教程(一):基本数据类型
  • (LeetCode 每日一题) 1957. 删除字符使字符串变好 (字符串)
  • 17 BTLO 蓝队靶场 Pretium 解题记录
  • 【C++11】哈希表与无序容器:从概念到应用
  • 【Unity基础】Unity中2D和3D项目开发流程对比
  • 用户虚拟地址空间布局架构
  • git_guide
  • 【Git#6】多人协作 企业级开发模型
  • 【面经】实习经历
  • 深入理解 C++ 中的指针与自增表达式:*a++、(*a)++ 和 *++a 的区别解析
  • 破除扫描边界Photoneo MotionCam-3D Color 解锁动态世界新维度
  • 京东疯狂投资具身智能:众擎机器人+千寻智能+逐际动力 | AI早报
  • 2021 RoboCom 世界机器人开发者大赛-本科组(复赛)解题报告 | 珂学家
  • [硬件电路-64]:模拟器件 -二极管在稳压电路中的应用
  • 物流链上的智慧觉醒:Deepoc具身智能如何重塑搬运机器人的“空间思维”
  • 库卡气体保护焊机器人省气的方法
  • Java IO流体系详解:字节流、字符流与NIO/BIO对比及文件拷贝实践
  • 大模型高效适配:软提示调优 Prompt Tuning
  • 【Windows】多标签显示文件夹
  • PLC之间跨区域通讯!无线通讯方案全解析
  • SQL通用增删改查
  • Spring Cache 扩展:Redis 批量操作优化方案与 BatchCache 自定义实现
  • C++中的deque容器
  • vue3实现可视化大屏布局