【数组】Find Peak Element
題目:
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.
思路:
按照題意,num[0]是大于左邊的不存在的那個元素的,num[size-1]也是大于右邊那個不存在的元素的,假如不存在,那么就會有num[0]<num[1],num[1]<num[2],就是增序,num[size-2]<num[size-1],這樣num[size-1]就是peak elem了,所以一定存在。于是就是這樣的思路,num[NULL] < num[0],我們假設左邊的元素小于右邊的元素,那么第一個左邊元素大于右邊的那個一定是peak elem.如num[0]。
/*** @param {number[]} nums* @return {number}*/ var findPeakElement = function(nums) {var n=nums.length;for(var i=1;i<n;i++){if(nums[i]<nums[i-1]){return i-1;}}return n-1; };?
轉載于:https://www.cnblogs.com/shytong/p/5128865.html
總結
以上是生活随笔為你收集整理的【数组】Find Peak Element的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LightOJ1032 Fast Bit
- 下一篇: Jan 13 - Bulls and C