【算法】排列组合

from itertools import permutations  # 排列
from itertools import combinations  # 组合


def perf(nums, k):
    res = []

    def dfs(nums, cur):
        n = len(nums)
        if len(cur) == k:
            res.append(cur)
            return
        for i in range(n):
            dfs(nums[i + 1:], cur + [nums[i]])  # 组合
            # dfs(nums[:i] + nums[i+1:], cur+[nums[i]])  # 排列

    dfs(nums, [])
    return res
posted @ 2022-07-12 11:21  倒骑驴子  阅读(20)  评论(0编辑  收藏  举报