blob: e8ad671288fdb5f8466c08e7e887bbb4dcdd687c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# FIXME: unpacking assignment
#
# def find_rotation_count(A):
# (left, right) = (0, len(A) - 1)
# while left <= right:
# if A[left] <= A[right]:
# return left
# mid = (left + right) // 2
# next = (mid + 1) % len(A)
# prev = (mid - 1 + len(A)) % len(A)
# if A[mid] <= A[next] and A[mid] <= A[prev]:
# return mid
# elif A[mid] <= A[right]:
# right = mid - 1
# elif A[mid] >= A[left]:
# left = mid + 1
# return -1
|