网站建设开发费怎么做账,网站标题主关键词,牡丹菏泽网站建设,湖南小程序开发制作我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”#xff1a;
B.length 3 存在 0 i B.length - 1 使得 B[0] B[1] … B[i-1] B[i] B[i1] … B[B.length - 1] #xff08;注意#xff1a;B 可以是 A 的任意子数组…我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”
B.length 3 存在 0 i B.length - 1 使得 B[0] B[1] … B[i-1] B[i] B[i1] … B[B.length - 1] 注意B 可以是 A 的任意子数组包括整个数组 A。
给出一个整数数组 A返回最长 “山脉” 的长度。
如果不含有 “山脉” 则返回 0。
示例 1
输入[2,1,4,7,3,2,5] 输出5 解释最长的 “山脉” 是 [1,4,7,3,2]长度为 5。 示例 2
输入[2,2,2] 输出0 解释不含 “山脉”。
代码
class Solution {public int longestMountain(int[] A) {boolean upfalse;int i1,res0;while (iA.length){int cnt0;while (iA.lengthA[i]A[i-1])//找出左边的递增序列{cnt;i;}if(cnt0||iA.length||A[i]A[i-1]){
//左边不是递增右边不是递减或者已经没有元素了这两种情况不需要再找递减了直接找下一个递增i;continue;} while (iA.lengthA[i]A[i-1])//找出右边递减序列{cnt;i;}res Math.max(res,cnt1);//比较长短}return res;}
}