From f05d888a0b621ca4e99e2b0fb6e23c097006fe41 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Tue, 28 May 2024 10:29:13 +0200 Subject: Init --- progs/a745.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 progs/a745.py (limited to 'progs/a745.py') 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 -- cgit v1.2.3-18-g5258