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

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

          本题要求在旋转排序数组中寻找最小值。例如:

输入:nums = [3,4,5,1,2] 输出:1

        解题思路:通过比较二分值x与数组末尾元素nums.back()来判断x的位置:

  • 若x <= nums.back(),说明x位于第二段递增序列,此时x可能是最小值或在最小值右侧
  • 若x > nums.back(),说明x位于第一段递增序列,x必定在最小值左侧

        通过不断二分缩小范围,最终循环结束时指向的元素即为最小值,返回其下标即可。

class Solution {
public:int findMin(vector<int>& nums) {int left = -1,right = nums.size() - 1;while (left + 1 < right) {int mid = left + (right - left) / 2;if (nums[mid] < nums.back()) {right = mid;}else{left = mid;}}return nums[right];}
};

        时间复杂度:O(logn)

        空间复杂度:O(1)

相关文章:

  • 手写字魔法消除3:深度学习PmrNet神经网络实现图片修复(含训练代码、数据集和GUI交互界面)
  • 零基础设计模式——结构型模式 - 外观模式
  • Docker 环境搭建与三大数据库(MySQL/Redis/MongoDB)部署教程
  • [Hackers and Painters] 读书笔记 | 设计模式思想 | LISP
  • 可视化提示词(Prompt)在训练过程中的优化过程:visualize_prompt_evolution
  • JAVA实战开源项目:农商对接系统 (Vue+SpringBoot) 附源码
  • 睡眠分期 html
  • 【SDR课堂第26讲】USRP-4120软件定义无线电平台性能指标测试(四)
  • NV295NV306美光固态闪存NV313NW830
  • promptfoo:让语言模型评测不再“靠感觉”——一站式 LLM 自动化测评神器深度解读
  • 框架漏洞(1)SpringBoot
  • ABF膜介绍
  • Java 事务管理:在分布式系统中实现可靠的数据一致性
  • python第35天打卡
  • 黑马程序员C++核心编程笔记--1 程序的内存模型
  • Android-kotlin协程学习总结
  • 瑞数6代jsvmp简单分析(天津电子税x局)
  • Linux云计算训练营笔记day17(Python)
  • 【b站计算机拓荒者】【2025】微信小程序开发教程 - chapter3 项目实践 - 3人脸识别采集统计人脸检测语音识别
  • 中间件redis 功能篇 过期淘汰策略和内存淘汰策略 力扣例题实现LRU
  • wordpress汉化版/win10系统优化
  • 中企动力网站好么/百度浏览器网址
  • 大学生个人网站模板/百度信息流怎么投放
  • 怎么设计一个自己的网站/网站联盟营销
  • 做网站策划的工具/指数基金排名前十名
  • 行业自助建站/网站在线客服系统免费