博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
153. Find Minimum in Rotated Sorted Array
阅读量:5163 次
发布时间:2019-06-13

本文共 1895 字,大约阅读时间需要 6 分钟。

Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

(i.e.,  [0,1,2,4,5,6,7] might become  [4,5,6,7,0,1,2]).

Find the minimum element.

You may assume no duplicate exists in the array.

Example 1:

Input: [3,4,5,1,2] Output: 1

Example 2:

Input: [4,5,6,7,0,1,2]Output: 0

Approach #1:

class Solution {public:    int findMin(vector
& nums) { int len = nums.size(); if (len == 1) return nums[0]; int l = 0, r = len-1; while (l < r) { int m = (l + r) / 2; if (nums[m] < nums[r]) { if (nums[m] > nums[l]) r = m - 1; else l = m + 1; } else if (nums[m] > nums[l]) { if (nums[m] < nums[r]) r = m - 1; else l = m + 1; } else { l++; } } while (1) { if (r > 0 && nums[r] > nums[r-1]) r--; else return nums[r]; } }};
Runtime: 
4 ms, faster than 47.61% of C++ online submissions for Find Minimum in Rotated Sorted Array.

 

 

转载于:https://www.cnblogs.com/ruruozhenhao/p/9889886.html

你可能感兴趣的文章
6 行为型模式之 - 命令模式
查看>>
Mvc ModelState.isValid为false时,检查时那个字段不符合规则的代码
查看>>
Python 之 基础知识(三)
查看>>
cluster集群
查看>>
搞JAVA在北京月薪15K的朋友来到厦门却很难找到工作
查看>>
冒泡数组排序
查看>>
kibana5画图
查看>>
类的加载和反射
查看>>
Linux学习笔记四
查看>>
JavaScript
查看>>
[转]getHibernateTemplate出现的所有find方法的总结
查看>>
【转】HTTP中的长连接和短连接分析
查看>>
scala 基本语法
查看>>
2019.08.02 学习整理
查看>>
JavaScript面向对象基础语法总结
查看>>
页面输入模糊数据---异步后台查询
查看>>
Java基础入门(二)
查看>>
Numpy数组
查看>>
数据库设计(1)
查看>>
Cocos2d-x 脚本语言Lua基本数据结构-表(table)
查看>>