解题思路:
1,注意初始值都是1,因为字符本身就是一个
2,其实本质就是求最长下降子序列和最长上升子序列
3,因为每一次拦截只能都比前一次下降一些,所以上升有多长,就需要多少套系统。
注意事项:
参考代码:
height = list(map(int,input().split()))#输入导弹飞来的高度
dp = [ 1 for _ in range(len(height))]#求最长下降路径
dp1 = [1 for _ in range(len(height))]#求最长上升路径
for i in range(len(height)):
for j in range(i):
if height[i] <height[j]:
dp[i]=max(dp[i],dp[j]+1)
elif height[i] >height[j]:
dp1[i] = max(dp1[i],dp1[j]+1)
print(max(dp))
print(max(dp1))
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:654 |
简单的a+b (C语言代码)浏览:647 |
wu-淘淘的名单 (C++代码)浏览:1339 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:633 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:660 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1465 |
妹子杀手的故事 (C语言代码)浏览:1054 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:719 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1034 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:468 |