把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
来源:互联网 发布:舆情调查软件 编辑:程序博客网 时间:2024/05/16 16:04
#include<iostream>#include<vector>using namespace std;int MinInOrder(vector<int> rotateArray){int result = rotateArray[0];int index1 = 0;int index2 = rotateArray.size()-1;for(int i=index1+1;i<index2;++i){if(result < rotateArray[i]){result = rotateArray[i];}}return result;}int minNumberInRotateArray(vector<int> rotateArray)//the answer of <<剑指offer>> : test run time:28 ms{if(rotateArray.size() == 0 )return 0;int length = rotateArray.size();int index1 = 0;int index2 = length-1;int indexMid = index1;while(rotateArray[index1] >= rotateArray[index2]){if(index2 - index1 == 1){indexMid = index2;break;}indexMid = (index2+index1)/2;if(rotateArray[index1] == rotateArray[index2] && rotateArray[indexMid] == rotateArray[index1]){return MinInOrder(rotateArray);}if(rotateArray[indexMid] >= rotateArray[index1])index1 = indexMid;else if(rotateArray[indexMid] <= rotateArray[index2])index2 = indexMid;}return rotateArray[indexMid];}/*//code of myself the code test time: 26 msint minNumberInRotateArray(vector<int> rotateArray){if(rotateArray.size() == 0)return 0;if(rotateArray.size() == 1)return rotateArray[0];int len = rotateArray.size();int i = 0;int min = rotateArray[0];int tmp;for(;i<len;++i){tmp = rotateArray[i];if(tmp >rotateArray[i+1]){if(min > rotateArray[i+1])min = rotateArray[i+1];cout<<" circlu times = "<<i<<endl;return min;}}return min;}*/int main(){vector<int> vec;vec.push_back(3);vec.push_back(4);vec.push_back(5);vec.push_back(1);vec.push_back(2);cout<<"min = "<<minNumberInRotateArray(vec)<<endl;return 0;}
阅读全文
0 0
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组
- java实现把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如{3,4,5,1,2}为{1,2,3,4,5}
- 求旋转数组的最小元素(把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转。输出旋转数组的最小值。
- 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素
- 面试题8:输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。
- python求解非递减排序的数组的一个旋转的最小元素
- 【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素
- 输出一个为递增排序数组的旋转数组中的最小元素——8
- [经典面试题]输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
- 【C语言】求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素
- 5.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1
- 中国剩余原理
- oracle设置字母大小写不敏感对impdp无效
- jQuery基础(一)--样式篇
- 内存泄漏总结
- scala学习-scala中的特殊符号使用
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数
- Java如何捕获线程异常?
- Node.js使用递归实现遍历文件夹中所有文件
- Android App加固原理分析
- jdbc基础知识(三)
- STL之简介
- Cookie/Session机制详解
- JMS ActiveMQ入门
- Samba服务安装与配置