leetcode 845.数组中的最长山脉(python)
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
解释:不含 “山脉”。
提示:
0 <= A.length <= 10000
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)相关推荐
- LeetCode 845. 数组中的最长山脉
https://leetcode-cn.com/problems/longest-mountain-in-array/ 难度:中等 我们把数组 A 中符合下列属性的任意连续子数组 B 称为 &qu ...
- LeetCode 845. 数组中的最长山脉(中心扩展)
1. 题目 我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.length - 1 使得 ...
- 16. Leetcode 845. 数组中的最长山脉 (数组-同向双指针-快慢指针)
把符合下列属性的数组 arr 称为 山脉数组 :arr.length >= 3 存在下标 i(0 < i < arr.length - 1),满足 arr[0] < arr[1 ...
- 845. 数组中的最长山脉
链接:845. 数组中的最长山脉 题解: class Solution {public:int longestMountain(vector<int>& nums) {if(num ...
- 0数组中等 LeetCode845. 数组中的最长山脉
845. 数组中的最长山脉 描述 把符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在下标 i(0 < i < arr.length - 1),满足 ...
- LeetCode/LintCode 题解丨一周爆刷双指针:数组中的最长山脉
描述: 我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.length - 1 使得 B ...
- 力扣 数组中的最长山脉
力扣 数组中的最长山脉 题目描述 我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.le ...
- JAVA程序设计:数组中的最长山脉(LeetCode:845)
我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] ...
- Leetcode--845. 数组中的最长山脉
我们把数组 A 中符合下列属性的任意连续子数组 B 称为 "山脉": B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] ...
- Leetcode每日一题:845.longest-mountain-in-array(数组中的最长山脉)
思路:这道题可以设两个标志位up 和 down,分别表示上山状态和经过上山后的下山状态,所以会遇到以下几种情况,分情况处理即可: 1.遇到上坡: 下山状态down==true遇到上坡,说明前一个山脉已 ...
最新文章
- 闲着无聊去体验远程面试,最后竟然被录取了...
- 内置哪几种服务容器_ASP.NET CORE 内置的IOC解读及使用
- numpy找到数组中符合条件的数
- 编译-编译原理C/C++ 静态链接库(.a) 与 动态链接库(.so)
- XML文件的生成与读取
- 【模型解读】“全连接”的卷积网络,有什么好?
- codeforces 689B Mike and Shortcuts 最短路
- 转:Memcached详解
- getline没有与参数列表匹配的重载函数_C++新增基础功能解析—函数重载功能的使用...
- C#单元测试如何查看输出的调试信息?
- C语言--第2次作业
- 美团正押注无人车?没错,这是外卖大战的第三阶段
- python所有软件-太牛逼!一款软件几乎可以操作所有的数据库!
- Oracle 归档开启切换和归档日志删除(单实例和RAC)
- [转载] Python元组操作及方法总结
- 嵌入式linux基础学习全套精品视频教程
- CorelDRAWX4的VBA插件开发(十六)颜色配置文件设置与检测
- PowerDesign安装教程
- mysql order by 排序技巧
- 程序验证(六):纳尔逊-欧朋算法(Nelson-Oppen Procedure)