旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。

开始用i<n,然后输出错误,看来对于vector,用v.at(i)可能更好一点,会自动判断边界。

 1 class Solution {
 2 public:
 3     int minNumberInRotateArray(vector<int> rotateArray) {
 4         int n=rotateArray.size();
 5         if(n==0) return 0;
 6         if(n==1) return rotateArray[0];
 7         for(int i=0;i<n-1;i++){
 8             if(rotateArray[i]>rotateArray[i+1])
 9                 return rotateArray[i+1];
10         }
11         return rotateArray[0];
12     }
13 };

 

posted @ 2015-08-25 17:20  鸭子船长  阅读(120)  评论(0编辑  收藏  举报