python
- class Solution:
- def findPeakElement(self, nums: List[int]) -> int:
- if(len(nums)==1):
- return 0
-
- if(nums[0]>nums[1]):
- return 0
-
- if(nums[len(nums)-1]>nums[len(nums)-2]):
- return len(nums)-1
-
-
- '''
- 复杂度O(n)
- i = 1
- while(1):
- if(nums[i]>nums[i-1] and nums[i]>nums[i+1]):
- break
- i +=1
-
- return i
-
- '''
-
- #二分法
- left = 0
- right = len(nums)-1
- while(left
- mid = int((left + right )/2)
- if(nums[mid]>nums[mid+1]):
- right = mid
- else:
- left = mid +1
-
- return left
