剑指offer-8- Python实现旋转数组的最小数

一、题目描述

剑指offer-8- Python实现旋转数组的最小数_第1张图片

二、解法

def minNumberInRotateArray(rotateArray):
    # write code here
    p1 = 0
    p2 = len(rotateArray)-1
    mid = p1
    while rotateArray[p1]>=rotateArray[p2]:
        if p2 - p1 ==1:
            mid = p2
            break
        mid =(p1+p2)>>1
        if rotateArray[mid]>=rotateArray[p1]:
            p1 = mid
        elif rotateArray[mid] <= rotateArray[p2]:
            p2 =mid
    return rotateArray[mid]

print(minNumberInRotateArray([5,1,2,3,4]))

#output:1

你可能感兴趣的:(Python,数据结构/算法刷题,python,数组)