diff options
author | Santo Cariotti <santo@dcariotti.me> | 2024-05-28 10:29:13 +0200 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2024-05-28 10:29:13 +0200 |
commit | f05d888a0b621ca4e99e2b0fb6e23c097006fe41 (patch) | |
tree | eebbb2489144112d3288393e354d19375a0aa088 /progs/a745.py |
Init
Diffstat (limited to 'progs/a745.py')
-rw-r--r-- | progs/a745.py | 15 |
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 |