回溯算法 全排列模板

简介: 回溯算法 全排列模板

1.输入一个不重复数组作为可选

2.输出全排列组合

class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        # 回溯算法
        result = []
        track = [] # 可行路径
        def trackBack(nums_, track_):
            if len(track_) == len(nums_): # 满足终止条件
                result.append(track_[:])
                return
            for i in nums_: #所有可选项
                if i in track_: # 判断是否可选
                    continue
                track.append(i) # 选择
                trackBack(nums_, track_) # 递归
                track.pop() # 回溯
        trackBack(nums, track)
        return result
相关文章
|
2月前
|
算法 C++ 索引
【算法】——全排列算法讲解
【算法】——全排列算法讲解
|
5月前
|
存储 算法 程序员
【算法训练-回溯算法 二】【子集组合问题】子集、组合、子集II、组合总和
【算法训练-回溯算法 二】【子集组合问题】子集、组合、子集II、组合总和
42 0
|
5月前
|
机器学习/深度学习 存储 算法
【算法训练-回溯算法 一】【排列问题】全排列、全排列II
【算法训练-回溯算法 一】【排列问题】全排列、全排列II
49 0
|
4月前
|
算法
【算法系列篇】递归、搜索和回溯(四)
【算法系列篇】递归、搜索和回溯(四)
|
2天前
|
算法 决策智能 索引
数据结构与算法 回溯
数据结构与算法 回溯
7 1
|
13天前
|
算法 JavaScript
算法(分治、贪心、dp、回溯、分支限界)总结
算法(分治、贪心、dp、回溯、分支限界)总结
|
29天前
|
算法
算法系列--递归,回溯,剪枝的综合应用(3)(下)
算法系列--递归,回溯,剪枝的综合应用(3)(下)
18 0
|
29天前
|
存储 算法
算法系列--递归,回溯,剪枝的综合应用(3)(上)
算法系列--递归,回溯,剪枝的综合应用(3)(上)
23 0
算法系列--递归,回溯,剪枝的综合应用(3)(上)
|
2月前
|
算法
回溯算法练习题
回溯算法练习题
13 0
|
2月前
|
算法 Java 定位技术
【数据结构与算法】递归、回溯、八皇后 一文打尽!
【数据结构与算法】递归、回溯、八皇后 一文打尽!