162. Find Peak Element
来源:互联网 发布:宝贝我知错了 编辑:程序博客网 时间:2024/05/16 23:40
A peak element is an element that is greater than its neighbors.
Given an input array where num[i] ≠ num[i+1], find a peak element and return its index.
The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.
You may imagine that num[-1] = num[n] = -∞.
For example, in array [1, 2, 3, 1], 3 is a peak element and your function should return the index number 2.
click to show spoilers.
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
Subscribe to see which companies asked this question.
class Solution(object): def findPeakElement(self, nums): """ :type nums: List[int] :rtype: int """ left, right = 0, len(nums) - 1 while left < right: mid = (left + right) >> 1 if mid == 0 and nums[mid] > nums[mid + 1]: return 0 elif nums[mid] > nums[mid + 1] and nums[mid] > nums[mid - 1]: return mid elif nums[mid] < nums[mid + 1]: left = mid + 1 else: right = mid return right
阅读全文
0 0
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 162. Find Peak Element
- 七位高僧大德的临终开示,非大福报者不得见
- css加下划线
- 第一篇博客:计划
- POJ 2138 Travel Games 笔记
- redis集群使用说明
- 162. Find Peak Element
- 端口简介及其分类
- gradle3.5 安装
- Linux日常——路由算法调研
- CSS边框盒子模型详解
- UML---行为图(活动图和状态图)
- 使用Python来编写HTTP服务器的超级指南
- angularjs repeat动画
- string对象上的操作