旋转数组的最小数字(三种解法)
题目
解题
方法一
两头比较 我最先想到的方法是设置两个指针low和high,low指向数组首部,high指向数组尾部,两个指针所指位置的数值进行比较,如果rotateArray[low]>=rotateArray[high],low++;反之high–。这种方法和第二种方法用时基本一致,而且不用单独考虑特殊值10111,上代码:
class Solution1 {
public:
int minNumberInRotateArray(vector<int> rotateArray) {
if(rotateArray.empty())
return 0;
int len = rotateArray.size();
if(len==0)
return 0;
if(len==1)
return rotateArray[0];
for(int i=0;i