题解 | #Redraiment的走法#

Redraiment的走法

https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa

# 动态规划
# 第一步:获取入参
num=int(input())
list1= list(map(int,input().split()))
# print(list1)

# 第二步:初始化dp列表,值均为1
dp=[1 for i in range(num)]   
 
# 第三步:遍历list1每个值,dp[i]是第i个桩,当之前的list1[j]小于list1[i]桩的走法,踩桩和不踩桩取最大值
for i in range(num):
    for j in range(i):
        if list1[j]<list1[i]:
            # (1)1+dp[j],踩桩
            # (2)dp[i],不踩
            dp[i]=max(1+dp[j],dp[i])
print(max(dp))

全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
10-20 11:11
辽宁大学 营销
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务