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

067寻找旋转排序数组中的最小值

寻找旋转排序数组中的最小值

题目链接:https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/description/?envType=study-plan-v2&envId=top-100-liked

我的解答:

public int findMin(int[] nums) { return check(nums, 0, nums.length - 1); } public int check(int[] nums, int l, int r){ while(l <= r){ int mid = l + ((r - l) >> 1); if(mid + 1 < nums.length && nums[mid] > nums[mid + 1]){ return nums[mid + 1]; } else if(mid - 1 >= 0 && nums[mid] < nums[mid - 1]){ return nums[mid]; } else{ return Math.min(check(nums, l, mid - 1), check(nums, mid + 1, r)); } } return r >= 0 ? nums[r] : nums[l]; }

分析:代码的时间复杂度为O(n),空间复杂度为O(logn)。自己未能想出时间复杂度为O(logn)的解法。解题思路:二分查找+递归,虽然是二分查找,但是没有根据旋转排序数组的特点进行剪枝,每一个元素都被访问了一遍,让时间复杂度到达了O(n),因此不推荐此方法。

看了官方题解后的解答:

//方法:二分查找 //时间复杂度:O(logn) //空间复杂度:O(1) public int findMin(int[] nums) { int l = 0, r = nums.length - 1; while(l < r){ int mid = l + ((r - l) >> 1); if(nums[mid] < nums[r]){ r = mid; } else{ l = mid + 1; } } return nums[r]; }

分析:

​ 1、解题思路,利用旋转排序数组的特点进行剪枝。

​ 2、旋转排序数组的特点:一个不包含重复元素的升序数组在经过旋转之后,可以得到下面可视化的折线图:

​ 3、[l,r]维护最小值可能出现的范围,初始时l = 0, r = nums.length-1,每次将中间位置的元素与右边界的元素作比较,若nums[mid] < nums[r],说明nums[mid]是最小值或最小值右侧的元素,因此我们可以忽略二分查找区间的右半部分,让r = mid;若nums[mid] > nums[r],说明nums[mid]是最小值左侧的元素,因此我们可以忽略二分查找区间的左半部分,让l = mid +1。

总结

  • 本题主要需要结合“一个不包含重复元素的升序数组在经过旋转之后所有数据值的大小的分布特点”来进行剪枝,从而实现O(n)的时间复杂度解题。
http://www.jsqmd.com/news/914649/

相关文章:

  • 首码固定资产管理系统|数字化赋能企业资产全生命周期管控
  • 寿光市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 2026年湘潭市最新黄金回收靠谱门店口碑榜 黄金+K金+白银+铂金回收门店TOP5排行榜+联系方式 - 大熊猫898989
  • 决策树算法全解析:从ID3到CART,构建可解释机器学习模型
  • AI自动识票+飞书无缝流转:优氙如何让费控从“人盯人“变“系统管“?
  • 从工具到伙伴:AIoT如何重塑人机交互与产业生态
  • Notepad3文本编辑器安装指南
  • 武威市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • Lindy财务自动化落地实战:3步完成RPA+API集成,92%企业忽略的合规校验关键点
  • @Transactional 最佳实践
  • 从 mumu-cli 到 mumu-control,MuMu 已经不是普通模拟器了
  • 曲靖市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 3D打印文创技术评析:优势(定制化设计/复杂结构/快速迭代)与劣势(材料多样性/成本/专业人才)的全面对比
  • 音乐推荐系统失灵?从算法局限到个人音乐发现体系重建
  • 如何5分钟快速上手RVC语音克隆:零基础AI音色转换终极指南
  • 武夷山市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 工业HMI如何直连海康摄像头?IPStream控件轻松实现RTSP取流
  • 机器人抗疫实战:从环境消杀到临床辅助的技术实现与挑战
  • 衢州市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 只有老板才懂的AI驱动增长内幕:为什么你花钱做的AI赋能,却带不来一分钱营收?
  • AI如何重塑管理:从自动化工具到人机协作的混合智能模式
  • 舞钢市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 阿里云亮出 Agent 基础设施全景图,ANOLISA 要做每一个 Agent 的运行底座
  • 泉州市黄金回收白银回收门店推荐 2026年最新黄金回收门店口碑排行榜+联系方式 - 盛世金银回收
  • 告别‘睁眼瞎’:用IA-YOLO的DIP模块,让你的YOLO模型在雾天/暗光下也能精准识别
  • 从推理规划到持续学习:三大技术驱动聊天机器人向智能体进化
  • iOS微信自动抢红包插件:3步实现毫秒级智能抢收方案
  • 在银河麒麟V10 SP3上,我为什么选择手动安装MySQL 8.0.33而不是用yum?
  • 别再傻傻等下载了!timm库create_model()加载本地预训练模型的两种正确姿势(附Windows/Linux路径详解)
  • AI Agent在化工企业危化品运输监管中怎样落地?基于2026年新法背景的技术路径深度测评