Leetcode--Find Peak Element
来源:互联网 发布:php工作原理 编辑:程序博客网 时间:2024/05/17 08:37
Find Peak Number:
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.解题思路:
想法1:就是找到该数组的最大值,最大值肯定满足该题要求。查找最大值可以用顺序查找,时间复杂度为O(n)。代码如下:
<span style="font-family:Times New Roman;">class Solution {public: int findPeakElement(const vector<int> &num) { for(int i=0; i<num.size(); i++) { if(num[i] > num[i+1]) return i; } return num.size()-1; }};</span>想法2:查找最大值还可以使用折半查找方法。时间复杂度为O(logn)
<span style="font-family:Times New Roman;">class Solution {public: int findPeakElement(const vector<int> &num) { int left=0; int right = num.size()-1; while(left <= right) { if(left == right) return left; int mid = (left + right)/2; if(num[mid] < num[mid+1]) left = mid+1; else right = mid; } }};</span>
0 0
- [LeetCode] Find Peak Element
- Leetcode:Find Peak Element
- LeetCode Find Peak Element
- leetcode: Find Peak Element
- leetcode:Find Peak Element
- LeetCode Find Peak Element
- Find Peak Element --leetcode
- Leetcode Find Peak Element
- [LeetCode] Find Peak Element
- Leetcode Find Peak Element
- Leetcode: Find Peak Element
- 【leetcode】Find Peak Element
- leetcode:Find Peak Element
- 【Leetcode】Find Peak Element
- LeetCode:Find Peak Element
- LeetCode:Find Peak Element
- [LeetCode] Find Peak Element
- LeetCode Find Peak Element
- AdaBoost算法原理
- 浅谈 Adaboost 算法
- 锋利的SQL2014:基于窗口的聚合计算
- AdaBoost--从原理到实现
- C递归版的全排列和组合算法
- Leetcode--Find Peak Element
- C语言学习六Linux基本命令的学习
- Android 内存管理 - Low Memory killer & OOM
- Restore IP Addresses - Leetcode
- linux 重定向命令
- QtAndroid详解(4):JNI调用Android系统功能(1)
- Python中lxml模块的安装
- 积累代码day1
- CSS变量试玩儿