summaryrefslogtreecommitdiff
path: root/progs/a745.py
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2024-06-27 22:39:22 +0200
committerSanto Cariotti <santo@dcariotti.me>2024-06-27 22:39:22 +0200
commitd653d3598d71fea30d45d118e3d046a3aed53ac1 (patch)
tree9d6720f83e4752aa1dd54daf549734b67747b60a /progs/a745.py
parent259580d38338ef53e6f98b2b279d1d4aa8ecff04 (diff)
Uncommented test files
Diffstat (limited to 'progs/a745.py')
-rw-r--r--progs/a745.py32
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