summaryrefslogtreecommitdiff
path: root/progs/a745.py
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2024-05-28 10:29:13 +0200
committerSanto Cariotti <santo@dcariotti.me>2024-05-28 10:29:13 +0200
commitf05d888a0b621ca4e99e2b0fb6e23c097006fe41 (patch)
treeeebbb2489144112d3288393e354d19375a0aa088 /progs/a745.py
Init
Diffstat (limited to 'progs/a745.py')
-rw-r--r--progs/a745.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/progs/a745.py b/progs/a745.py
new file mode 100644
index 0000000..9a21dfa
--- /dev/null
+++ b/progs/a745.py
@@ -0,0 +1,15 @@
+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