旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

#include<stdio.h>
#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;

class Solution {
public:
int minNumberInRotateArray(vector<int> rotateArray) {
sort(rotateArray.begin(), rotateArray.end());

return rotateArray[0];

int min = 65563;
  if(!rotateArray.empty()){
  for(int i=0;i<rotateArray.size();i++){
    if(min>rotateArray.at(i))
      min = rotateArray.at(i);
  }
  return min;  
}
  else return 0;
 
 


}
};

int main()
{
int a;
int min;
Solution x;
vector<int> rotateArray;
while (cin>>a)
{
rotateArray.push_back(a);
}
min = x.minNumberInRotateArray(rotateArray);
cout << min << endl;
system("pause");
return 0;
}

posted @ 2019-04-15 21:44  望舒liangliang  阅读(81)  评论(0)    收藏  举报