给定一个长度为 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 }