C++ 求旋转字符串中的最小值
来源:互联网 发布:乐易网络是真的假的 编辑:程序博客网 时间:2024/06/03 20:54
思路比较简单,直接看代码即可:
/*求一个旋转字符串中最小值*//*思路:遇到没有旋转以及数组中相同位置元素相等的采用顺序查找*/#include <iostream>#include <exception>#include <stdio.h>using namespace std;class Solution{public:int find(int array[],int length){int i=0, min = array[0];while(i<length){if(min > array[i])min = array[i];i++;}return min;}int findmin(int array[],int length){if(!array || length <1)throw new exception();int lp = 0, rp =length -1;int mid_index = lp;while(array[lp] >= array[rp]){if(rp - lp == 1)return array[rp];else{mid_index =(lp + rp)/2;if(array[lp] < array[rp] ||( (array[lp] == array[rp] )&& (array[lp] = array[mid_index])))return find(array,rp - lp +1);if(array[lp] > array[mid_index])rp = mid_index;elselp = mid_index;}}return array[mid_index];}};int main(){Solution sol;int array1[]= {1,2,3,4,5};cout << "min :"<<sol.findmin(array1,5)<<endl;int array2[] = {3,4,5,1,2};cout << "min :"<<sol.findmin(array2,5)<<endl;int array3[] = {5,1,2,3,4};cout << "min: "<<sol.findmin(array3,5)<<endl;system("PAUSE");return 0;}
运行结果:
0 0
- C++ 求旋转字符串中的最小值
- 求旋转数组中的最小值
- 旋转数组求最小值
- 旋转数组求最小值
- 旋转数组求最小值
- 剑指offer:求一个旋转数组中的最小值
- C语言求数组元素中的最小值
- 旋转数组中的最小值
- 旋转数组中的最小值
- 求旋转序列的最小值
- 求旋转数组的最小值
- 求旋转数组的最小值
- 笔记 旋转数组中的最小值
- 寻找旋转数组中的最小值
- 【数学】【数组】旋转数组求最小值
- 求旋转数组后的最小值
- 剑指off-求旋转数组最小值
- Java求旋转数组的最小值
- 3.2.1元组类型(tuple)
- 鞍山网赛-矩阵的旋转平移
- jquery ajax请求记录日志
- linux下发送广播
- Cocos 2d 3.0Alpha安装到osx
- C++ 求旋转字符串中的最小值
- test
- CS/BS
- 【DP】 HDOJ 5000 Clone
- 在windows基于Eclipse编写hadoop时,遇到的 WARN util.NativeCodeLoader问题
- 有A、B、C、D四个人过桥问题
- 数组中求第K大数
- linux socket 编程 send 发生 Resource temporarily unavailable 错误的原因
- IP地址与MAC地址