题解 | #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))