因子组合这道题,真不是“会递归就行”那么简单
大家好,我是Echo_Wish。
今天咱们聊一道看起来像数学,其实是算法思维试金石的题——
因子的组合(Factor Combinations)。
这道题在 LeetCode 上不算热门,但在我心里,它是一道非常值钱的题。
值钱不在于难,而在于:
它特别容易暴露你到底是“背模板的”,还是“真理解递归和搜索的”。
一、先说题意:别被“因子”两个字吓住
题目大概是这样(我用人话复述):
给你一个整数 n,找出所有由大于 1 且小于 n 的因子组成的乘积等于 n 的组合。
比如:
n = 12 结果: [ [2, 6], [2, 2, 3], [3, 4] ]注意几个坑点关键词:
- 不能用 1
- 不能用 n 本身
- 顺序不重要([2,6] 和 [6,2] 算一种)
- 可以重复使用因