// ConsoleApplication26.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:int minNumberInRotateArray(vector<int> rotateArray)
{
int length = rotateArray.size();
if (length <= 0)
{
return 0;
}
else if (length == 1)
{
return rotateArray[0];
}
else
{
int beginPos = 0;
int endPos = length - 1;
int midPos = beginPos;
while (beginPos<endPos)
{
midPos = (beginPos + endPos) / 2;
if (rotateArray[beginPos] < rotateArray[midPos])
{
beginPos = midPos;
}
else if (rotateArray[midPos] < rotateArray[beginPos])
{
endPos = midPos;
}
else
{
beginPos = beginPos + 1;
}
}
return rotateArray[endPos];
}
}
};
int main()
{
int abc;
vector<int> rotateArray;
rotateArray.push_back(9);
rotateArray.push_back(10);
rotateArray.push_back(11);
rotateArray.push_back(12);
rotateArray.push_back(13);
rotateArray.push_back(14);
rotateArray.push_back(14);
rotateArray.push_back(5);
rotateArray.push_back(6);
rotateArray.push_back(7);
rotateArray.push_back(8);
rotateArray.push_back(9);
Solution test;
cout<<test.minNumberInRotateArray(rotateArray);
return 0;
}
剑指offer 06 旋转数组的最小数字
最新推荐文章于 2023-03-23 18:38:22 发布