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

leetcode 153. Find Minimum in Rotated Sorted Array

题目描述

分析

可以发现一个规律:

假如整个数组最后一个元素是x。

最小值左侧(不含最小值自己)的元素全部大于x。

最小值右侧(包含最小值自己,不包含x)的元素全部小于x。

如果整个数组是有序的,最小值就是第一个元素。最小值左侧没有元素,理解为有无穷大的值,上述规律也可以说是成立的。

class Solution {
public:int findMin(vector<int>& nums) {int left = 0;int n = nums.size();int right = n -1;int mid = 0;while(left < right){mid = (left+right)/2;if(nums[mid] > nums[n-1]){//nums[mid]大于最后一个元素,说明最小值在mid右侧,不包含midleft = mid+1;}else{//nums[mid]小于等于最后一个元素,说明最小值在mid左侧或者最小值就是mid这个元素,所以更新区间需要包含midright = mid;}}return nums[left];}
};

 

相关文章:

  • RabbitMQ的基本使用
  • 力扣-盛最多水的容器
  • 文件包含靶场实现
  • RK3576 Android 14.0 SDK开发指南(第一集)
  • vivado fpga程序固化
  • FPGA:基于Vivado的仿真流程与波形调试实践
  • 企业级网络安全护盾:剖析高防IP原理与防护策略
  • C# 语法篇:字段的定义和运算
  • 基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析技术
  • Python实现VTK - 自学笔记(4):用Widgets实现三维交互控制
  • 已解决:Git冲突完全解决指南(附最佳实践)
  • 第三个小程序动工:一款结合ai的菜谱小程序
  • 软考中级软件设计师——计算机网络篇
  • 国产远程工具如何重新定义高效连接?——从协议支持到生态整合的全面解析
  • SPA模式下的es6如何加快宿主页的显示速度
  • Index-AniSora技术升级开源:动漫视频生成强化学习
  • 深入解析FramePack:高效视频帧打包技术原理与实践
  • 什么叫生成式人工智能?职业技能的范式转移与能力重构
  • C++:迭代器
  • c/c++的opencv高斯模糊
  • 中方是否支持或参加俄乌谈判?外交部:支持一切有利于和平的努力
  • 人猴“攻防战”:难守的庄稼与扩张的猴群,部分村民选择放牧搬家
  • 住建部:目前已累计建设改造各类市政管网50万公里
  • 出生于1991年,石秀清拟提名为铜陵市辖县(区)政府副县(区)长人选
  • 习近平在河南洛阳市考察调研
  • 以色列在加沙发起新一轮强攻,同步与哈马斯展开无条件谈判