求和为n的所有组合

给定一个数 n

要求:
(1)等式左边的整数取值为 1~n-1.
(2)要求等式左边之和为n。

若 n = 3;
1 + 1 + 1 = 3;
1 + 2 = 3;
阅读 4.8k
2 个回答

提问前最好能多搜索几下,segmentfault上已有类似提问:https://segmentfault.com/q/10...

有一个答案是DFS的,可以输出具体方案,但是效率较低。
有一个是我的答案,用的是动态规划(DP),时间复杂度O(N^2)
楼上说的母函数也可以用,但没有DP方便

楼主可以去学习下 母函数

这应该是母函数的模板题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题