diff options
author | Santo Cariotti <santo@dcariotti.me> | 2024-06-27 22:39:22 +0200 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2024-06-27 22:39:22 +0200 |
commit | d653d3598d71fea30d45d118e3d046a3aed53ac1 (patch) | |
tree | 9d6720f83e4752aa1dd54daf549734b67747b60a /progs/a745.py | |
parent | 259580d38338ef53e6f98b2b279d1d4aa8ecff04 (diff) |
Uncommented test files
Diffstat (limited to 'progs/a745.py')
-rw-r--r-- | progs/a745.py | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/progs/a745.py b/progs/a745.py index e8ad671..1d9fe80 100644 --- a/progs/a745.py +++ b/progs/a745.py @@ -1,17 +1,15 @@ -# 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
\ No newline at end of file +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
|