作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试借助动态规划获得 Padovan 数列中的第 n 个数字。谁能告诉我我的代码有什么问题?
def padovan(n):
p = [1, 1, 1]
while len(p) < n+1:
p.append(0)
res = sum([p[i] for i in range(3)])
for i in range(3, n+1):
res += p[n-2] + p[n-3]
return res
它应该返回正确的第 n 个数字,但我不知道它有什么问题。
最佳答案
您不更新列表项并始终重复使用相同的(零个)最后一项。不需要 res
。
for i in range(3, n+1):
p[i] = p[i-2] + p[i-3]
return p[n]
print(padovan(10))
>>12
关于algorithm - 我的 padovan 系列代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55413237/
我正在尝试借助动态规划获得 Padovan 数列中的第 n 个数字。谁能告诉我我的代码有什么问题? def padovan(n): p = [1, 1, 1] while len(p)
我是一名优秀的程序员,十分优秀!