154寻找旋转排序数组中的最小值II
2024-09-05 05:51:08
title: 寻找旋转排序数组中的最小值II
题目描述
题目链接:寻找旋转排序数组中的最小值II
解题思路
和上题同理:数组特点有 nums[mid] < nums[right],最小值肯定在mid左边,nums[mid] > nums[right],最小值肯定在mid右边,但是 nums[mid] = nums[right]的时候,可能在左边也在右边,如[0,1,1,1,1]、[1,1,1,0,1],可以剪掉right
int findMin(vector<int>& nums) {
int left = 0, right = nums.size() - 1;
int mid;
while (left < right) {
mid = left + ((right - left) >> 1);
if (nums[mid] > nums[right]) left = mid + 1;
else if (nums[mid] < nums[right]) right = mid;
else right--;//证明左边都是同一个数字,可以砍掉最右的那个位置
}
return nums[left];
}
复杂度分析
- 空间复杂度:o(logn)
- 时间复杂度:O(1)
最新文章
- oracle迁移postgres之-Ora2Pg
- Configure Apache Virtual Hosts - CentOS 7
- IP查询接口地址
- RFID应用范围
- viewport ---移动端详解
- 【实例】html5-canvas中实现背景图片的移动
- android sdk manager 无法更新解决方法
- Java 多线程处理[全]
- hiho一下 第九十六周 数论五&#183;欧拉函数
- CentoS 下报的 Requires: perl(:MODULE_COMPAT_5.8.8)
- iOS开发HTTPS实现之信任SSL证书和自签名证书
- Tomcat架构以及理解sever.xml
- Intellij IDEA 2016 mybatis 生成 mapper
- MySQL基础语句与其在Python中的使用
- CI框架剖析一
- 【一天一道LeetCode】#110. Balanced Binary Tree
- idea2018+maven+web新手maven指南
- php利用自定义key,对数据加解密的方法
- PHP7 学习笔记(九)phpsize动态编译openssl扩展 (微信公众平台)
- java poi生成excel(个人例子js-jsp-java)
热门文章
- 有哪些不同类型的 IOC(依赖注入)方式?
- ROS机器人操作系统相关书籍、资料和学习路径
- JavaScript の 内容属性(HTML属性attribute)和 DOM 属性(property)
- Codepen 每日精选(2018-4-22)
- java中Array(数组)的用法
- E-R图转换为关系模型
- 小程序tab栏可滑动,可点击居中demo
- input type=&#39;file&#39;限制上传文件类型
- 跳转到下一页面时,必须先勾选阅读xx须知/协议才可跳转功能
- eBPF Cilium实战(1) - 基于团队的网络隔离