解题思路:
注意事项:
由于dp在某些情况下可能不存在递增子序列,所以在判断最大值时需要手动加入一个“0”元素防止出现max方法内无参数的报错。
参考代码:
n = int(input()) nums = list(map(int, input().split())) dp = [1 for _ in range(n)] for i in range(1, n): dp[i] = max([0] + [dp[j] for j in range(i) if nums[j] <= nums[i]]) + 1 print(max(dp))
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:643 |
字符串比较 (C语言代码)答案错误????浏览:595 |
WU-整除问题 (C++代码)浏览:604 |
【金明的预算方案】 (C++代码)浏览:930 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:585 |
1126题解浏览:577 |
Tom数 (C语言代码)浏览:492 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:678 |
单词个数统计 (C语言代码)浏览:1009 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:800 |