제목 설명
여러 요소들의 어레이의 초기 배열은, 우리가 회전 호출 배열의 끝으로 이동.
출력 회전 작은 소자 어레이의 회전의 입력 어레이의 비 내림차순.
예를 들어, 배열 {3,4,5,1,2} {1,2,3,4,5}은 최소 어레이의 회전이다.
참고 : 배열의 크기는, 반환 0 0이면 모든 요소가 0보다 큰에 제시되어있다.
출력 회전 작은 소자 어레이의 회전의 입력 어레이의 비 내림차순.
예를 들어, 배열 {3,4,5,1,2} {1,2,3,4,5}은 최소 어레이의 회전이다.
참고 : 배열의 크기는, 반환 0 0이면 모든 요소가 0보다 큰에 제시되어있다.
사고
질문의 의미를 알고, 회전 후, 가장 작은 요소의 출력은, 우리가 분을 사용할 수 있습니다 ().
NA하면 분 () 이진 검색을 사용.
링크 : HTTPS : //www.nowcoder.com/questionTerminal/9f3231a991af4f55b95579b44b7a01ba F =? 토론 출처 : 순 오프 소 # - * - 코딩 : UTF-8 - * - 클래스 솔루션 : DEF minNumberInRotateArray (자체, rotateArray가) : #을 사용할 수 있습니다 분 () 함수는하지만, NA 최소 기능의 경우, 아이디어는 이진 검색해야 # 때 재귀 수익을 사용해야합니다 다음 두 가지 사항에 대한 재귀 모양을 사용! ! ! 그렇지 않으면 없음 반환 #의 여기에 코드를 작성 배경 화면 시작 = 0 끝 (rotateArray) 렌을 = - 1. MID = INT ((시작 + 엔드) / 2 ) 경우 렌 (rotateArray) == 2 : IF rotateArray [0]> rotateArray [. 1 ] : 창 rotateArray [1 ] 다른 : 창 rotateArray [0] ELIF rotateArray [미드]> rotateArray [END] 복귀 self.minNumberInRotateArray (rotateArray [미드 : 최종 + 1 ]) ELIF rotateArray는 [미드] < rotateArray [START] 리턴 자체 .minNumberInRotateArray (rotateArray [START : 중간 + 1])