首页 > 代码库 > 寻找旋转排序数组中的最小值

寻找旋转排序数组中的最小值

寻找旋转排序数组中的最小值 

假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。

你需要找到其中最小的元素。

你可以假设数组中不存在重复的元素。

 注意事项

You may assume no duplicate exists in the array.

样例

给出[4,5,6,7,0,1,2]  返回 0

标签 
二分法
 
 1 class Solution {
 2 public:
 3     /**
 4      * @param nums: a rotated sorted array
 5      * @return: the minimum number in the array
 6      */
 7     int findMin(vector<int> &nums) {
 8         // write your code here
 9         int size = nums.size();
10         if(size == 0)
11             return 0;
12 
13         int min = nums[0];
14         for(int i=1; i<size; i++) {
15             if(min > nums[i])
16                 min = nums[i];
17         }
18         return min;
19     }
20 };

 

寻找旋转排序数组中的最小值