算法题/旋转数组
来源:互联网 发布:网络红歌2016火爆歌曲 编辑:程序博客网 时间:2024/06/05 14:59
python2.7
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排序的数组的一个旋转(递增或递减的),输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。
#coding:utf-8"""把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排序的数组的一个旋转(递增或递减的),输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。"""def rotate_arr(a): left = 0 right = len(a)-1 mid = (left+right)/2 if a[right] - a[left] !=1 and a[right] - a[left] != -1: return a[left] if a[left] == a[mid] or a[left] == a[right] or a[right] == a[mid]: return min(a) while left < right: middle = (left+right)/2 if a[left] < a[middle]: left = middle elif a[left] > a[middle]: right = middle elif a[left] == a[middle] and right-left == 1: return a[right] #print(rotate_arr([0,1,1,1,0,0]))#print(rotate_arr([3,4,5,6,7,1,2]))print(rotate_arr([1,2,3,4,5,6,7]))
阅读全文
0 0
- 算法题/旋转数组
- 【算法题】查找旋转数组的值
- 算法---左旋转数组
- 数组旋转的高效算法
- 旋转数组查找(算法)
- 旋转数组最小值(算法)
- [算法学习]数组的旋转
- 按位置旋转一维数组算法
- 算法:数组顺时针、逆时针90度旋转
- 算法练习:一维数组旋转
- 算法学习-查找旋转数组的最小值
- [算法]找出旋转数组的最小数字
- 算法题目---旋转数组的最小数字
- 算法复习:旋转数组的最小数字
- 算法-旋转数组的最小数字
- 微软100题(69)旋转数组中的最小元素(数组、算法)
- 微软等数据结构+算法面试100题(40)-- 旋转数组中的最小元素
- 程序员面试题精选100题(42)-旋转数组的最小元素[算法]
- 饿了么项目---10、(2)vue2.0给嵌套的元素做多个动画
- tr命令详解
- hive udf (python)
- MOOC清华《面向对象程序设计》第3章:const常量成员实验
- 市区对应的编码获取入库过程
- 算法题/旋转数组
- 最大报销额(背包01)
- mac下常用的命令
- CXF+Spring+Maven之服务端
- Gem-based Jekyll theme 开发小记
- CNTK API文档翻译(17)——多对多神经网络处理文本数据(1)
- 277. 内存分配-网妍14-计算机二14 北邮复试机试题目
- Java关键词
- 又一道简单题