博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Find Peak Element
阅读量:5307 次
发布时间:2019-06-14

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

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.

Note:

Your solution should be in logarithmic complexity.

 

Solution: Be aware of boundary. 

1. O(n) solution. 

class Solution {public:    int findPeakElement(vector
& nums) { if(nums.empty()) return -1; if(nums.size() == 1) return 0; for(int i = 0; i < nums.size(); i++){ if(i == 0){ if(nums[i] > nums[i + 1]) return i; } else if(i == nums.size() - 1){ if(nums[i] > nums[i - 1]) return i; } else{ if(nums[i] > nums[i - 1] && nums[i] > nums[i + 1]) return i; } } return -1; }};

 

转载于:https://www.cnblogs.com/amazingzoe/p/5643329.html

你可能感兴趣的文章
深入理解java集合框架(jdk1.6源码)
查看>>
php截取后台登陆密码的代码
查看>>
选假球的故事
查看>>
ul li剧中对齐
查看>>
关于 linux 的 limit 的设置
查看>>
模块搜索路径
查看>>
windows下编译安装BOOST
查看>>
第四代iPhone电池仍然不可以更换(转)
查看>>
ibatis中的符号#跟$区别
查看>>
QComboBox设置item height(行高)
查看>>
内存原理与PHP的执行过程
查看>>
P3175 [HAOI2015]按位或
查看>>
【HDU5909】Tree Cutting(FWT)
查看>>
多边形区域填充算法--扫描线填充算法(有序边表法) 有代码
查看>>
北京郊区房租面临下调压力 平均单位租金36.2元/平
查看>>
linux programing
查看>>
移动端H5实现图片上传
查看>>
House Robber
查看>>
C#基础之if语句习题
查看>>
ios推送-B/S架构-socket
查看>>