当前位置: 首页 > 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.dtcms.com/a/290764.html

相关文章:

  • TPAMI 2025 | 空间频率调制(SFM),深度学习语义分割的细节守护者
  • uniapp 输入时动态修改值(如含单位)光标被强制移至末尾
  • vxe-table 通过配置 ajax 方式自动请求数据,适用于简单场景的列表
  • K8s 集群CoreDNS监控告警最佳实践
  • Django Ninja
  • 病历数智化3分钟:AI重构医院数据价值链
  • 【Prometheus+Grafana篇】监控通过Keepalived实现的MySQL HA高可用架构
  • 安全测试学习
  • Python并发编程:突破GIL枷锁,高效利用多核CPU
  • c# 获取指定路径盘的可用空间
  • 2025年一区SCI-回旋镖气动椭圆优化算法Boomerang Aerodynamic Ellipse-附Matlab免费代码
  • 大根堆,小根堆,双指针
  • ELN和LIMS的区别
  • 【LeetCode 热题 100】207. 课程表——DFS+三色标记
  • 原型设计模式
  • [Plecs基础知识系列] 基于Plecs的半导体热仿真方法(实战篇)_建立热路模型与仿真
  • 多能量CT扫描性能模体的详细讲解
  • 小飞电视:开启智能娱乐新视界
  • 优思学院:精益制造的工具与方法有什么区别?
  • 2025三掌柜赠书活动第二十五期 网络安全应急响应实战
  • Web3.0 能为你带来哪些实质性的 改变与突破
  • Web LLM 安全剖析:以间接提示注入为核心的攻击案例与防御体系
  • 2025年终端安全管理系统的全方位解析,桌面管理软件的分析
  • 在 Windows上用WSL和VSCode进行Linux开发环境配置
  • 解决OpenHarmony中找不到pthread_cancel和pthread_setcanceltype等libc符号的问题
  • python学智能算法(二十七)|SVM-拉格朗日函数求解上
  • SVM(Support Vector Machine)从入门到精通
  • 部署zabbox企业级分布式监控
  • 软件卸载:金山毒霸怎么卸载?【图文讲解】【小白专属】
  • freertos双向链表的插入