动态规划 P1420 最长连号 python题解

阅读: 评论:0

动态规划 P1420 最长连号 python题解

动态规划 P1420 最长连号 python题解

题目描述

输入长度为 n 的一个正整数序列,要求输出序列中最长连号的长度。

连号指在序列中,从小到大的连续自然数。

输入格式

第一行,一个整数 n。

第二行,n 个整数 ai​,之间用空格隔开。

输出格式

一个数,最长连号的个数。

代码:

# 核心方程 dp[i]=dp[i-1]+1
# 意思是当前这个数的值等于它的上一个数的值加一
n = int(input())  # 输入整数n
dp_ = list(map(int, input().split()))  # 输入一连串整数an,用空格分隔,输出dp结果为[1,5,6,2,3,4,5,6,8,9]
max_ = 0  # 用来记录最大连数
cur = 1  # 用来记录临时最大连数,默认为1,即连数只有它本身时
for i in range(1, n):  # 从第二个开始遍历,一直到n个if dp_[i] == dp_[i - 1] + 1:cur += 1else:if cur > max_:max_ = curcur = 1  # 重新开始计算临时连数
if cur > max_:  # 用来判断特殊情况:即当最后一个也是最大连数中的一个时,因为还cur没赋值给max_,所以需要判断一下cur是否大于max_print(cur)
else:print(max_)

本文发布于:2024-02-04 12:26:32,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170707211355558.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:题解   最长   动态   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23