尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
JAVA练习340- 寻找旋转排序数组中的最小值
题目概览已知一个长度为n的数组预先按照升序排列经由1到n次旋转后得到输入数组。例如原数组nums [0,1,2,4,5,6,7]在变化后可能得到若旋转4次则可以得到[4,5,6,7,0,1,2]若旋转7次则可以得到[0,1,2,4,5,6,7]注意数组[a[0], a[1], a[2], ..., a[n-1]]旋转一次的结果为数组[a[n-1], a[0], a[1], a[2], ..., a[n-2]]。给你一个元素值互不相同的数组nums它原来是一个升序排列的数组并按上述情形进行了多次旋转。请你找出并返回数组中的最小元素。你必须设计一个时间复杂度为O(log n)的算法解决此问题。示例 1输入nums [3,4,5,1,2]输出1解释原数组为 [1,2,3,4,5] 旋转 3 次得到输入数组。示例 2输入nums [4,5,6,7,0,1,2]输出0解释原数组为 [0,1,2,4,5,6,7] 旋转 4 次得到输入数组。示例 3输入nums [11,13,15,17]输出11解释原数组为 [11,13,15,17] 旋转 4 次得到输入数组。提示n nums.length1 n 5000-5000 nums[i] 5000nums中的所有整数互不相同nums原来是一个升序排序的数组并进行了1至n次旋转来源153. 寻找旋转排序数组中的最小值 - 力扣LeetCode解题分析方法二分查找先进行一次二分令中间索引为 mid起始索引为 i结束索引为 j二分之后得到的两个子数组至少有一个时递增的那么当 nums[ i ] nums[ mid ] 且 nums[ mid ] nums[ j ] 时mid 到 j 一定是递增数组那么最小值一定在左边数组或为 nums[mid]当 nums[ i ] nums[ mid ] 且 nums[ mid ] nums[ j ] 时i 到 mid 一定是递增数组那么最小值一定在右边数组当 nums[ i ] nums[ mid ] nums[ j ] 时整个数组就是递增数组最小值就为 num[ i ]当 nums[ i ] nums[ mid ] nums[ j ] 时不可能存在这种情况时间复杂度O(logn)空间复杂度O(1)class Solution { public int findMin(int[] nums) { int n nums.length; int i 0, j n - 1, min nums[0]; while(i j) { int mid (i j) / 2; if (nums[mid] nums[i] nums[mid] nums[j]) { min Math.min(min, nums[mid]); j mid - 1; } else if (nums[mid] nums[i] nums[mid] nums[j]) { i mid 1; } else if (nums[i] nums[mid]) { min Math.min(min, nums[i]); break; } else { min Math.min(min, nums[j]); break; } } return min; } }
RELATED

相关推荐

TLV320DAC3120 miniDSP寄存器配置实战:从系数RAM到指令RAM的深度解析

TLV320DAC3120 miniDSP寄存器配置实战:从系数RAM到指令RAM的深度解析

1. TLV320DAC3120的miniDSP:从硬件到算法的深度掌控在音频系统开发领域,尤其是消费电子和专业音频设备中,我们常常面临一个核心矛盾:标准化的音频编解码器(Codec)提供了开箱即用的便利性,但其固…

📅 2026/9/19 3:00:27
JAVA练习339- 搜索旋转排序数组

JAVA练习339- 搜索旋转排序数组

题目概览 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 向左旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nums[0…

📅 2026/10/5 18:33:20
行业内知名的仿生木皮供应商哪家靠谱

行业内知名的仿生木皮供应商哪家靠谱

在装修市场日益发展的今天&#xff0c;仿生木皮凭借其美观与实用兼备的特性&#xff0c;成为众多业主和设计师的心头好。然而&#xff0c;面对市场上众多的仿生木皮供应商&#xff0c;究竟哪家才靠谱呢&#xff1f;今天就来给大家详细分析分析。博诺狮&#xff1a;品质之选博诺…

📅 2026/10/17 21:43:09
MORE NEWS

更多资讯

📰

SSH连接故障排查与安全加固实践

1. 问题现象与初步排查 那天凌晨2点15分&#xff0c;我正喝着第三杯咖啡处理数据库紧急告警&#xff0c;突然发现跳板机无法SSH连接到某台核心数据库服务器。运维最怕的就是这种"网络正常但连不上"的玄学问题——ping测试畅通无阻&#xff0c;telnet 22端口显示连接被…

📰

无人机集群动态调度与边缘计算优化算法解析

1. 项目背景与核心价值 在移动边缘计算(MEC)与无人机协同作业快速发展的当下&#xff0c;如何高效调度多无人机资源完成分布式计算任务成为行业痛点。我们团队针对2026年KBS挑战赛设计的"赏金猎人优化算法"(Bounty Hunter Optimization, BHO)结合了群体智能与博弈论思…

📰

具身智能研究社群运营与实战经验分享

1. 项目背景与核心价值 最近在学术圈和工业界掀起一股"具身智能"研究热潮&#xff0c;这个横跨机器人学、认知科学和人工智能的交叉领域正在快速成长。具身智能&#xff08;Embodied Intelligence&#xff09;强调智能体必须通过与物理环境的持续交互来发展认知能力&…

📰

帝国CMS开发传奇游戏资源站模板解析

1. 项目概述 "传奇资源游戏模板源码"是一个基于帝国CMS开发的游戏版本库管理系统&#xff0c;专门为传奇类游戏私服运营者提供一站式解决方案。这个模板整合了版本库管理、会员系统、点卡支付等核心功能模块&#xff0c;让游戏资源发布、下载和交易变得简单高效。 我…

📰

openGauss数据库维护实战:从日常巡检到性能优化

1. 数据库例行维护的必要性与挑战 在数据库管理领域&#xff0c;例行维护就像汽车的定期保养一样不可或缺。作为一款企业级开源关系型数据库&#xff0c;openGauss的高效运行离不开系统化的维护策略。我管理过多个TB级openGauss集群&#xff0c;深刻体会到&#xff1a;忽视维护…

📰

虚拟电厂低碳优化调度:P2G-CCS与燃气掺氢技术应用

1. 项目背景与核心价值 在能源结构转型的大背景下&#xff0c;虚拟电厂&#xff08;VPP&#xff09;作为聚合分布式能源的关键技术&#xff0c;正面临如何高效协调多种低碳技术的挑战。这个项目通过引入阶梯碳交易机制&#xff0c;结合P2G-CCS&#xff08;电转气-碳捕集封存&am…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬