给定一个长度为 n 的正整数数组,每个元素表示一座山的高度。
其中满足以下条件的连续子数组称为山脉:
1.长度大于等于3
2.存在下标 i ,满足 nums[0] < nums[1] < nums[2] < ... < nums[i] , nums[i] > nums[i+1] > nums[i+2] ... > nums[i+k]
请你找出最长山脉的长度
数据范围:
, 数组中的元素满足
[2,5,2,1,5]
4
[2,5,2,1]
[2,2,2,2,1]
0
没有山脉则输出 0
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
func longestmountain( nums []int ) int {
max:=0
for i,x:=range nums{
if i!=0&&i!=len(nums)-1{
if x>nums[i-1]&&x>nums[i+1]{
tot:=1
l,r:=i-1,i+1
lv,rv:=x,x
for l>=0&&nums[l]<lv{
tot++
lv=nums[l]
l--
}
for r<len(nums)&&nums[r]<rv{
tot++
rv=nums[r]
r++
}
if tot>max{
max=tot
}
}
}
}
return max
}