版权归作者所有,转载请注明出处
题目描述
代码
递归法:
迭代器法:
解题效率
递归法:
迭代器法:
解释
递归法:
在
组合中不包括n:从1~n-1中选k个数
组合中包括n:从1~n-1中选k-1个数,然后在把n添加进每个组合中
两种情况下,如果需要选择该数字,那么会最终递归到n==k的情况,最终加入到list中,最终将两种情况拼接在一起,得到最终的结果返回
迭代器法:
使用python3 itertools库迭代器itertools.combinations()方法,第一个参数为需要进行组合的集合,设为1,2,3...n,第二个参数为每个组合的包含元素数目,设为2,直接获取结果。(从题解中扒来的库函数)运行速度和内存使用都很优。