leetcode 845.数组中的最长山脉(python)

我们把数组 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
解释:不含 “山脉”。

提示:

  1. 0 <= A.length <= 10000
  2. 0 <= A[i] <= 10000
class Solution(object):def longestMountain(self, A):if len(A) < 3:return 0start, max_peak = 0, 0reach_peak = Falsefor i in range(1, len(A) - 1):if A[i - 1] >= A[i] <= A[i + 1]: # 判断山脚if reach_peak:reach_peak = Falsemax_peak = max(max_peak, i - start + 1)start = ielif A[i - 1] < A[i] > A[i + 1]: # 判断山顶reach_peak = Trueif reach_peak:max_peak = max(max_peak, len(A) - start) # 兼容最后没有山脚的情况return max_peak

leetcode 845.数组中的最长山脉(python)相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 闲着无聊去体验远程面试,最后竟然被录取了...
  2. 内置哪几种服务容器_ASP.NET CORE 内置的IOC解读及使用
  3. numpy找到数组中符合条件的数
  4. 编译-编译原理C/C++ 静态链接库(.a) 与 动态链接库(.so)
  5. XML文件的生成与读取
  6. 【模型解读】“全连接”的卷积网络,有什么好?
  7. codeforces 689B Mike and Shortcuts 最短路
  8. 转:Memcached详解
  9. getline没有与参数列表匹配的重载函数_C++新增基础功能解析—函数重载功能的使用...
  10. C#单元测试如何查看输出的调试信息?
  11. C语言--第2次作业
  12. 美团正押注无人车?没错,这是外卖大战的第三阶段
  13. python所有软件-太牛逼!一款软件几乎可以操作所有的数据库!
  14. Oracle 归档开启切换和归档日志删除(单实例和RAC)
  15. [转载] Python元组操作及方法总结
  16. 嵌入式linux基础学习全套精品视频教程
  17. CorelDRAWX4的VBA插件开发(十六)颜色配置文件设置与检测
  18. PowerDesign安装教程
  19. mysql order by 排序技巧
  20. 程序验证(六):纳尔逊-欧朋算法(Nelson-Oppen Procedure)

热门文章

  1. 二元一次方程整数解c语言,c语言求解,求解二元一次方程?
  2. 5g与计算机网络有什么关系,5G网络是什么意思 5G和4G网络有什么区别?
  3. 东方联盟郭盛华发家史:8年来实现跨越式发展
  4. 有重复组合公式及其证明方法
  5. 数字万用表常用功能使用
  6. 使用 ffmpeg 从视频文件提取音频
  7. Python.习题六 字典与集合(下)
  8. Redis集群管理工具redis-trib
  9. 2010新财富中国富豪榜1至100名
  10. iphone快捷指令蚂蚁森林能量_iPhone「快捷指令」怎么玩?玩法太多,别让这个功能吃灰...