[leetcode]Find Minimum in Rotated Sorted Array II
来源:互联网 发布:华为云计算 钦州 编辑:程序博客网 时间:2024/06/05 08:02
Find Minimum in Rotated Sorted Array II
Follow up for "Find Minimum in Rotated Sorted Array":
What if duplicates are allowed?Would this affect the run-time complexity? How and why?
Suppose a sorted array 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.
The array may contain duplicates.
class Solution {public: int findMin(vector<int>& nums, int b, int e){ int minVal = nums[b]; for(int i = b + 1; i <= e; i++){ minVal = min(minVal, nums[i]); } return minVal; } int findMin(vector<int>& nums) { int mid; int left = 0; int right = nums.size() - 1; while(left < right){ mid = left + (right - left) / 2; if(nums[mid] == nums[right] && nums[mid] == nums[left]){ return findMin(nums, left, right); } if(nums[mid] == nums[left]){ if(nums[mid] < nums[right]){ // --/- return findMin(nums, mid, right); } if(nums[mid] > nums[right]){ //--\ - left = mid + 1; continue; } } if(nums[mid] == nums[right]){ if(nums[mid] < nums[left]){// \-- return findMin(nums, left, mid); } if(nums[mid] > nums[left]){// /-- - right = mid - 1; continue; } } if(nums[mid] > nums[right]){ // 1、/\ 2、/ left = mid + 1; }else{ //正好位于拐点 3、\/ 4、\ - if(nums[mid] < nums[mid - 1]){ return nums[mid]; } right = mid - 1; } } return nums[left]; }};
0 0
- LeetCode Find Minimum in Rotated Sorted Array & LeetCode Find Minimum in Rotated Sorted Array II
- leetCode -Array 154. Find Minimum in Rotated Sorted Array II
- [Leetcode]Find Minimum in Rotated Sorted Array I & II
- LeetCode 154 Find Minimum in Rotated Sorted Array II
- [LeetCode] Find Minimum in Rotated Sorted Array II
- LeetCode: Find Minimum in Rotated Sorted Array II
- 【Leetcode】Find Minimum in Rotated Sorted Array II
- Find Minimum in Rotated Sorted Array II -- LeetCode
- Leetcode: Find Minimum in Rotated Sorted Array II
- LeetCode之Find Minimum in Rotated Sorted Array II
- leetcode Find Minimum in Rotated Sorted Array II
- leetcode - Find Minimum in Rotated Sorted Array II
- leetcode:Find Minimum in Rotated Sorted Array II
- [leetcode] Find Minimum in Rotated Sorted Array II
- [Leetcode]Find Minimum in Rotated Sorted Array I & II
- Find Minimum in Rotated Sorted Array II c++ leetcode
- leetcode:Find Minimum in Rotated Sorted Array II
- 【LeetCode】【Solution】Find Minimum in Rotated Sorted Array I & II
- 【HDU 1016】Prime Ring Problem —— DFS
- 在ASP.NET MVC 中获取当前URL、controller、action
- Java读写CSV格式文件(opencsv)
- Eclipse编辑器基本设置
- samba能看到linux中的文件目录,但是看不到文件的解决(查看SElinux状态&关闭SElinux)
- [leetcode]Find Minimum in Rotated Sorted Array II
- keystore文件生成
- linux系统-用户管理-常用命令
- MVC静态化页面
- C# 无边框窗口实现拖动
- AMAZING AUCTION
- 2015 编程之美 2月29日
- 2015编程之美资格赛:2月29日 模拟题
- #1038 : 01背包 ( 01 背包,基础DP)