解题思路:
求最长上升序列,动态规划。
注意事项:
条件是只要不是美味度小于前一个就吃的爽,所以是可以等于的。否则会报答案错误27。
参考代码:
n = int(input()) nums = list(map(int,input().split())) dp = [0 for _ in range(n)] maxVal = 0 #求最大上升序列 for i in range(n): dp[i] = 1 for j in range(i): if nums[i] >= nums[j] and dp[i] < (dp[j]+1): dp[i] = dp[j] + 1 if maxVal < dp[i]: maxVal = dp[i] print(maxVal)
0.0分
3 人评分
C语言训练-求函数值 (C语言代码)浏览:931 |
【回文数(二)】 (C语言代码)浏览:728 |
【计算两点间的距离】 (C语言代码)浏览:879 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:937 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:480 |
【蟠桃记】 (C语言代码)浏览:664 |
剪刀石头布 (C语言代码)浏览:1747 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:774 |
用筛法求之N内的素数。 (C语言代码)浏览:646 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:349 |