使用二进制搜索的Python RotationCount

时间:2017-03-09 09:36:36

标签: python search binary

如何编写代码

def rotationcount(L):
    pass

作为

Input: L = [15, 18, 2, 3, 6, 12]
Output: 2

说明:初始数组必须为[2, 3, 6, 12, 15, 18]。 我们在旋转初始数组两次后得到给定的数组。

Input: L = [7, 9, 11, 12, 5]
Output: 4
Input: L = [7, 9, 11, 12, 15];
Output: 0

1 个答案:

答案 0 :(得分:0)

您只需遍历列表,直到找到一个大元素后跟一个小元素:

def rotationcount(L):
    for i in range(len(L)):
        if L[i]<L[i-1]:
            return i