【发布时间】:2020-08-17 03:36:55
【问题描述】:
我很难理解这个问题的解决方案:
我们要编写一个函数来生成前 M 个 N-Bonacci 数。例如,如果 N = 2,那么这就是斐波那契数列 {0, 1, 2, 3, 5 ... }。如果 N = 3,则每个元素都是前 3 个数字 {0, 0, 1, 1, 2, 4, 7, ... } 的总和。
根据这个问题的解法,第i个N-Bonacci数,等于
nbonacci[i] = nbonacci[i - 1] + nbonacci[i - 1] - nbonacci[i - N - 1]
谁能解释一下这个想法是如何产生的?我知道这是一个动态编程问题,我只是不明白如何自己想出这个公式。那么在高层次上,您具体怎么看这个?
【问题讨论】:
标签: algorithm dynamic-programming array-algorithms