【leetcode】153. Find Minimum in Rotated Sorted Array
来源:互联网 发布:淘宝卖家手机必备软件 编辑:程序博客网 时间:2024/04/29 22:51
一、题目描述
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.
You may assume no duplicate exists in the array.
题目解读:一个有序数组可能沿着某个支点进行了旋转,找出旋转后的数组的最小值
思路一:用sort直接对数组进行排序,输出第一个值
c++代码1(6ms,2.26%)
class Solution {public: int findMin(vector<int>& nums) { sort(nums.begin(),nums.end()); return nums[0]; }};
思路二:用二分法,len表示数组的长度,初始化令left=0, right=len-1
(1)如果nums[left] < nums[right],说明旋转前后的数组没变,输出nums[left]即可
(2)否则,说明旋转后的数组发生了变化,mid=left+(right-left)/2,取中间的值跟nums[right]进行比较,如果nums[mid] > nums[right],说明最小值在右半部,令left=mid+1;否则,说明最小值在左边(并且可能就是nums[mid]),令right=mid。然后再循环进行比较,直到满足条件(1)。
c++代码2(3ms,30.59%)
class Solution {public: int findMin(vector<int>& nums) { int len=nums.size(); int left=0; int right=len-1; int mid; while(nums[left]>nums[right]){ mid=left+(right-left)/2; if(nums[mid]>nums[right]){ left=mid+1; }else{ right=mid; } }//while return nums[left]; }};
0 0
- Leetcode 153. Find Minimum in Rotated Sorted Array & Leetcode 154. Find Minimum in Rotated Sorted Ar
- 153. Find Minimum in Rotated Sorted Array--Array--LeetCode--C++
- [LeetCode] Find Minimum in Rotated Sorted Array
- Leetcode: Find Minimum in Rotated Sorted Array
- leetcode :Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- 【Leetcode】Find Minimum in Rotated Sorted Array
- LeetCode:Find Minimum in Rotated Sorted Array
- LeetCode: Find Minimum in Rotated Sorted Array
- leetcode: Find Minimum in Rotated Sorted Array
- [LeetCode] Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array -- LeetCode
- Leetcode: Find Minimum in Rotated Sorted Array
- leetcode Find Minimum in Rotated Sorted Array
- leetcode - Find Minimum in Rotated Sorted Array
- LeetCode Find Minimum in Rotated Sorted Array
- Leetcode--Find Minimum in Rotated Sorted Array
- leetcode: Find Minimum in Rotated Sorted Array
- JavaSwing制作简单计算器
- Hibernate 映射文件更新
- 数据库索引的实现原理
- 微机原理==Pentium(奔腾)的指令系统(4)
- Android Journey: Graphics
- 【leetcode】153. Find Minimum in Rotated Sorted Array
- PowerDesigner教程系列(三)概念数据模型
- 对vector使用指针
- RESTful API 设计最佳实践(3)
- springboot+springmvc+mybatis 使用xml文件来写增查改的sql
- 彩色屏显示点阵字库(2016年9月工作)
- Jave字符串替换
- SharedPreferences源码解析及使用
- PowerDesigner教程系列(四)概念数据模型