LeetCode 46.全排列 Python 3 回溯算法

这道题是一道很经典的回溯算法题, 先来看看代码:

class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        res=[]
        def backtrack(con,ns):
            if len(ns)==1:
                con.append(ns[0])
                res.append(con)
                return
            for i in range(len(ns)):
                con2=con.copy()
                con2.append(ns[i])
                backtrack(con2,ns[:i]+ns[i+1:])
        backtrack([],nums)
        return res

这道题目,主要通过不断遍历并递归一步步接近答案

成绩蛮不错的~~~ 

猜你喜欢

转载自blog.csdn.net/leleprogrammer/article/details/127157721