博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 118 寻找峰值
阅读量:3903 次
发布时间:2019-05-23

本文共 661 字,大约阅读时间需要 2 分钟。

峰值元素是指其值大于左右相邻值的元素。

给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。

数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。

你可以假设 nums[-1] = nums[n] = -∞

示例 1:

输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 2。

示例 2:

输入: nums = [1,2,1,3,5,6,4]输出: 1 或 5 解释: 你的函数可以返回索引 1,其峰值元素为 2;     或者返回索引 5, 其峰值元素为 6。

说明:

你的解法应该是 O(logN) 时间复杂度的。

代码如下:

class Solution {public:    int findPeakElement(vector
& nums) { int l=0,r=nums.size()-1; int Size=r; while (l<=r) { int mid=(l+r)>>1; if(l==r) return l; if(nums[mid]>nums[mid+1]) r=mid; else l=mid+1; } }};

 

转载地址:http://lvaen.baihongyu.com/

你可能感兴趣的文章
破解百度网盘屏蔽文件分享失效被和谐的独家秘籍
查看>>
STM32F10X_XX宏定义的选择
查看>>
在头文件声明全局变量和创建extern
查看>>
stm32 USART 串口通信[操作寄存器+库函数]
查看>>
MATLAB画图常用调整代码
查看>>
WORD2010加载mathtype6.6
查看>>
TTL电平、CMOS电平、RS232电平的区别
查看>>
c语言那些细节之a+1和&a+1的区别
查看>>
交换两个变量的值,不使用第三个变量的四种法方
查看>>
STM32 产生随机数
查看>>
MFC 动态曲线 支持缩放 显示图例(CStatic派生类)
查看>>
STM32 变量存储问题
查看>>
win7下安装纯净版XP
查看>>
C++矩阵处理工具——Eigen
查看>>
CMake入门指南
查看>>
QT5.2新版本+VS2010平台搭建图文教程
查看>>
Ubuntu12.04 无线图标不显示 解决办法
查看>>
Ubuntu常用软件
查看>>
ubuntu 下 codeblocks 的使用 各种技巧转自
查看>>
win7下 背景色更改为护眼颜色
查看>>