leetCode - 162 - Find Peak Element
2017-08-09 18:38
351 查看
A peak element is an element that is greater than its neighbors.
Given an input array where
The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.
You may imagine that
For example, in array
the index number 2.
嗯,找一个数组的峰值(该位置比两侧数都大)
一开始写了个O(n)的做法,然后觉得可以三分,三分写了写又觉得奇怪,最后还是二分了。时间复杂度O(logn),空间复杂度O(1)
class Solution {
public:
int findPeakElement(vector<int>& nums) {
if (nums.empty()) return -1;
int le = 0, ri = nums.size() - 1;
while (le < ri) {
int mid1 = (le + ri) / 2;
int mid2 = mid1 + 1;
if (nums[mid1] < nums[mid2]) le = mid2;
else ri = mid1;
}
return le;
}
};
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 = -∞.
For example, in array
[1, 2, 3, 1], 3 is a peak element and your function should return
the index number 2.
嗯,找一个数组的峰值(该位置比两侧数都大)
一开始写了个O(n)的做法,然后觉得可以三分,三分写了写又觉得奇怪,最后还是二分了。时间复杂度O(logn),空间复杂度O(1)
class Solution {
public:
int findPeakElement(vector<int>& nums) {
if (nums.empty()) return -1;
int le = 0, ri = nums.size() - 1;
while (le < ri) {
int mid1 = (le + ri) / 2;
int mid2 = mid1 + 1;
if (nums[mid1] < nums[mid2]) le = mid2;
else ri = mid1;
}
return le;
}
};
相关文章推荐
- leetcode162---Find Peak Element(找峰值点)
- Leetcode 162: Find Peak Element
- [LeetCode162]Find Peak Element
- leetcode-162 Find Peak Element
- leetcode162: Find Peak Element
- Find Peak Element - LeetCode 162
- 【LEETCODE】162-Find Peak Element [Python]
- LeetCode162 Find Peak Element
- [leetcode 162] Find Peak Element
- 【LeetCode】(162)Find Peak Element(Medium)
- LeetCode[162] Find Peak Element
- [leetcode-162]Find Peak Element(c)
- leetcode_c++:Find Peak Element(162)
- 【leetcode】Array——Find Peak Element(162)
- leetcode[162] Find Peak Element
- Leetcode 162 Find Peak Element 查找峰值元素(极大值)
- leetcode 162 Find Peak Element(二分法)
- leetcode_162题——Find Peak Element(数组,水题)
- LeetCode 162--- Find Peak Element
- LeetCode(162) Find Peak Element