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

day12 leetcode-hot100-21(矩阵4)

240. 搜索二维矩阵 II - 力扣(LeetCode)

1.暴力法O(m*n)

思路:两层for循环即可。

2.二分查找O(m*logn)

思路:每行都用二分查找,因为每行都是排好序的

class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int[] row : matrix){if(search_t(row,target)){return true;}}return false;}public boolean search_t(int[] nums,int t){int l=0;int r=nums.length-1;while(l<=r){int mid=(r-l)/2+l;if(nums[mid]==t){return true;}if(nums[mid]>t){r=mid-1;}if(nums[mid]<t){l=mid+1;}}return false;}}

3.Z字搜索

思路 

        因为每行都是递增的,每列也是递增的,所以我们可以选择从右上角开始遍历,遇到大于target的那就向左走,遇到小于target那就向下走。

具体代码
class Solution {public boolean searchMatrix(int[][] matrix, int target) {int n=matrix[0].length;int x=0;int y=n-1;while(x<=matrix.length-1 && y>=0){if(matrix[x][y]==target){return true;}if(matrix[x][y]>target){y--;}else{x++;}}return false;}}
http://www.lryc.cn/news/2391683.html

相关文章:

  • Java基础 Day24
  • 提问:鲜羊奶是解决育儿Bug的补丁吗?
  • 关于数据仓库、数据湖、数据平台、数据中台和湖仓一体的概念和区别
  • Hive 分桶(Bucketing)深度解析:原理、实战与核心概念对比
  • 网络协议DHCP
  • 什么是可重组机器人?
  • 4、docker compose
  • Node.js全局对象详解:console、process与核心功能
  • 测试策略:AI模型接口的单元测试与稳定性测试
  • SQL里几种JOIN连接
  • 基于通义千问的儿童陪伴学习和成长的智能应用架构。
  • 生产环境Mysql推荐配置参数
  • LVS-DR 负载均衡群集
  • 理解并解决高丢包率问题,构建清晰流畅的实时音视频通话
  • Ubuntu系统Todesk进度卡在100%
  • [Dify] 如何应对明道云API数据过长带来的Token超限问题
  • Axure动态面板学习笔记
  • eNSP企业综合网络设计拓扑图
  • 工程化架构设计:Monorepo 实战与现代化前端工程体系构建
  • BugKu Web渗透之备份是个好习惯
  • 华为AP6050DN无线接入点瘦模式转胖模式
  • uniapp 配置本地 https 开发环境(基于 Vue2 的 uniapp)
  • 十、【核心功能篇】项目与模块管理:前端页面开发与后端 API 联调实战
  • 【大模型/MCP】MCP简介
  • [Godot][游戏开发] 如何在 Godot 中配置 Android 环境(适配新版 Android Studio)
  • Vue-Router中的三种路由历史模式详解
  • 机器学习多分类逻辑回归和二分类神经网络实践
  • 社交类网站设计:经典feed流系统架构详细设计(小红书微博等)
  • K6 是什么
  • RISC-V PMA、PMP机制深入分析