本题要求用若干个数 1、2、3 相加,按顺序恰好得到 n 的方案数,顺序不同视为不同方案(如 1+2 与 2+1 不同)。
设 f(n) 为答案,考虑最后一步取值:
因此得到动态规划递推式(“三项斐波那契”):
本题在“每次取 1 或 2 凑成 n”的基础上做进一步扩展,给定一个非负整数 n。每次可取数 1、2 或 3,将若干个数相加恰好得到 n。两种方案只要在某个位置取的数不同,就视为不同(即顺序有区分)。求不同方案数。
记答案为 f(n)。
4
7
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写