剑指offer—旋转数组的最小数字

华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/9/30

题目描述
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减序列的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。

解析:只要把最后一个元素与第一个元素比,若小于等于第一个,把最后一个移到第一个即可。

class Solution:
    def minNumberInRotateArray(self, rotateArray):
        if len(rotateArray)==0:
            return 0
        else:
            if len(rotateArray)==1:
                return rotateArray[0]
            else:
                while(rotateArray[-1]<=rotateArray[0]):
                    rotateArray.insert(0,rotateArray[-1])
                    del rotateArray[-1]
                return rotateArray[0]

你可能感兴趣的:(剑指offer—旋转数组的最小数字)