日期:2020-10-25

作者:19届 LZ

标签:JAVA 动态规划

题目描述

我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”:

B.length >= 3
存在 0 < i < B.length - 1 使得 B[0] < B[1] < … B[i-1] < B[i] > B[i+1] > … > 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) {int n=A.length;if(n<3){return 0;}int right[]=new int [n];//上坡最大长度int left[] =new int [n];//下坡最大长度int max=0;right[0]=left[n-1]=1;for(int i=1;i<n;i++){if(A[i]>A[i-1]){right[i]=right[i-1]+1;}else{right[i]=1;}if(A[n-i-1]>A[n-i]){left[n-i-1]=left[n-i]+1;}else{left[n-i-1]=1;}}for(int i=0;i<n;i++){if(right[i]!=1&&left[i]!=1)max=Math.max(right[i]+left[i]-1,max);}if(max>=3){return max;}else{return 0;}}
}

数组中的最长山脉 JAVA相关推荐

  1. LeetCode 845. 数组中的最长山脉

    https://leetcode-cn.com/problems/longest-mountain-in-array/ 难度:中等   我们把数组 A 中符合下列属性的任意连续子数组 B 称为 &qu ...

  2. 力扣 数组中的最长山脉

    力扣 数组中的最长山脉 题目描述 我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.le ...

  3. 845. 数组中的最长山脉

    链接:845. 数组中的最长山脉 题解: class Solution {public:int longestMountain(vector<int>& nums) {if(num ...

  4. LeetCode/LintCode 题解丨一周爆刷双指针:数组中的最长山脉

    描述: 我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.length - 1 使得 B ...

  5. 0数组中等 LeetCode845. 数组中的最长山脉

    845. 数组中的最长山脉 描述 把符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在下标 i(0 < i < arr.length - 1),满足 ...

  6. JAVA程序设计:数组中的最长山脉(LeetCode:845)

    我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] ...

  7. LeetCode 845. 数组中的最长山脉(中心扩展)

    1. 题目 我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.length - 1 使得 ...

  8. Leetcode--845. 数组中的最长山脉

    我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] ...

  9. 16. Leetcode 845. 数组中的最长山脉 (数组-同向双指针-快慢指针)

    把符合下列属性的数组 arr 称为 山脉数组 :arr.length >= 3 存在下标 i(0 < i < arr.length - 1),满足 arr[0] < arr[1 ...

  10. Leetcode每日一题:845.longest-mountain-in-array(数组中的最长山脉)

    思路:这道题可以设两个标志位up 和 down,分别表示上山状态和经过上山后的下山状态,所以会遇到以下几种情况,分情况处理即可: 1.遇到上坡: 下山状态down==true遇到上坡,说明前一个山脉已 ...

最新文章

  1. Microbiome:揩老鼠皮毛揩来高分文章——野生哺乳动物的皮肤和肠道微生物群对环境污染做出的反应
  2. php文件的标准格式化,PHP获取文件大小并格式化的几种方法
  3. 内存分配_go内存分配管理
  4. php如何定义和使用常量,如何在PHP中定义和使用常量
  5. Java学习笔记3——集合框架
  6. script和scriptreplay命令实现终端录制和回放。
  7. 几个容器网络相关问题的分析和解决总结
  8. 【Kafka】Kafka 使用传统的 avro API 自定义序列化类和反序列化类
  9. webpack2 项目
  10. oracle监听器无法启动,提示“错误1067:进程意外终止”
  11. 服务器安装nvidia驱动_无法安装最新版NVIDIA显卡驱动,从技术角度该怎么办?
  12. 高级商务办公软件应用【10】
  13. 摄影曝光基础——光圈、快门、ISO
  14. Xcode里的-ObjC,-all_laod和-force_load的作用
  15. 可爱女生开糖果花店,她两年时间就挣了一百万元
  16. 移动端click延迟解决方案
  17. 语法分析--自上而下分析的基本问题
  18. 关于Java学习的心得体会
  19. 转录组代谢组联合分析基础名词
  20. 酷我音乐在计算机其他的图标怎么去掉,怎么清除酷我音乐2016右下角广告

热门文章

  1. 【多媒体】媒体的概念和分类
  2. 卡特兰数 史上最全最详细讲解!
  3. java读写excel,解决poi包中没有org.apache.poi.ss.usermodel.CellType的问题
  4. 风险资产的最优组合公式证明
  5. react-native系列(24)API篇:屏幕宽高和屏幕像素密度
  6. 12种无线接入方式简析
  7. BUCT2021年ACM竞赛班训练(四)全题解(0x3f3f3f3f)
  8. 时间序列分析 23 DTW (时序相似度度量算法) 上
  9. WIN SERVER 2008安装VS2015踩坑小结
  10. ​网红拉姆之死,这辈子最看不起这种男人!