[LeetCode] 852. Peak Index in a Mountain Array

김민우·2023년 1월 4일
0

알고리즘

목록 보기
105/189

- Problem

852. Peak Index in a Mountain Array


class Solution:
    def peakIndexInMountainArray(self, arr: List[int]) -> int:
        left, right = 1, len(arr) - 2

        while left <= right:
            mid = (left + right) // 2

            if arr[mid-1] < arr[mid] > arr[mid+1]:
                return mid
            
            elif arr[mid-1] < arr[mid] < arr[mid+1]:
                left = mid + 1
            
            elif arr[mid-1] > arr[mid] > arr[mid+1]:
                right = mid - 1
    
  • 시간 복잡도: O(logN)

- 결과


- 다른 풀이 (index, max)

class Solution:
    def peakIndexInMountainArray(self, arr: List[int]) -> int:
        return arr.index(max(arr))
  • 시간 복잡도 O(N)
profile
Pay it forward.

0개의 댓글