[6] 파이썬을 달성하기 위해 어레이의 회전 수를 최소 안전 견적 증명

제목 설명

여러 요소들의 어레이의 초기 배열은, 우리가 회전 호출 배열의 끝으로 이동.
출력 회전 작은 소자 어레이의 회전의 입력 어레이의 비 내림차순.
예를 들어, 배열 {3,4,5,1,2} {1,2,3,4,5}은 최소 어레이의 회전이다.
참고 : 배열의 크기는, 반환 0 0이면 모든 요소가 0보다 큰에 제시되어있다.

이진 검색

class Solution:
    def minNumberInRotateArray(self, rotateArray):
        # write code here
        length = len(rotateArray)
        if length == 0:
           return 0
        elif length == 1:
            return rotateArray[0]
        else:
            left = 0
            right = length - 1
            mid = 0
            while rotateArray[left] >= rotateArray[right]:
                if right - left == 1:
                    mid = right
                    break
                mid = left + (right - left) // 2
                if rotateArray[mid] >= rotateArray[left]:
                    left = mid
                if rotateArray[mid] <= rotateArray[right]:
                    right = mid

            return rotateArray[mid]
게시 99 개 원래 기사 · 원 찬양 6 · 전망 3995

추천

출처blog.csdn.net/weixin_42247922/article/details/103915946