2020.10.8
1.類型
數(shù)組
2.題目描述
山峰元素是指其值大于或等于左右相鄰值的元素笨枯。給定一個(gè)輸入數(shù)組nums娇澎,任意兩個(gè)相鄰元素值不相等,數(shù)組可能包含多個(gè)山峰坪圾。找到索引最大的那個(gè)山峰元素并返回其索引讼油。假設(shè) nums[-1] = nums[n] = -∞杰赛。
示例:
輸入:[2,4,1,2,7,8,4]
返回:5
3.思路
按正常思想是,遍歷數(shù)組元素矮台,兩個(gè)變量記錄大小乏屯,需要達(dá)到兩個(gè)條件
a.索引值最大 那么倒序遍歷可以實(shí)現(xiàn)
b.峰值,這個(gè)數(shù)a[i]>=left 并且a[i]>=right的時(shí)候瘦赫,
自己根據(jù)java的代碼改寫
思路:倒序索引最大辰晕,最右邊默認(rèn)為負(fù)無(wú)窮最小,那么從右邊開始找确虱,比左邊大的就是峰值含友。
/**
* 尋找最后的山峰
* @param a int整型一維數(shù)組
* @return int整型
*/
function solve( a ) {
// write code here
if(a == null || a.length == 0) {
return -1;
}
for(let i = a.length - 1;i >=0; i--){
if(a[i] >= a[i - 1]){
return i;
}
}
return 0;
}
module.exports = {
solve : solve
};