LeetCode 46. 全排列

LeetCode 46. 全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

示例 1:

输入:nums = [1,2,3]

输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

示例 2:

输入:nums = [0,1]

输出:[[0,1],[1,0]]

示例 3:

输入:nums = [1]

输出:[[1]]

提示:

1 <= nums.length <= 6

-10 <= nums[i] <= 10

nums 中的所有整数 互不相同

回溯

python 复制代码
class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        from queue import Queue
        q = deque(nums)
        res_list = []
        self.backtrack(q, res_list, [])
        return res_list

    def backtrack(self, q, res_list, res):
        if not q:
            res_list.append(res.copy())
        else:
            for _ in range(len(q)):
                num = q.popleft()
                res.append(num)
                self.backtrack(q, res_list, res)
                res.pop()
                q.append(num)
相关推荐
yyy(十一月限定版)12 分钟前
算法——差分
算法
yyy(十一月限定版)12 分钟前
算法——模拟
算法
DeepVis Research15 分钟前
【Chaos/Neuro】2026年度混沌动力学仿真与机器遗忘算法基准索引 (Benchmark Index)
人工智能·算法·数据集·混沌工程·高性能计算
一起养小猫29 分钟前
LeetCode100天Day9-无重复字符的最长子串与赎金信
java·开发语言·数据结构·leetcode
white-persist34 分钟前
【内网运维】Netstat与Wireshark:内网运维溯源实战解析
运维·网络·数据结构·测试工具·算法·网络安全·wireshark
会员果汁35 分钟前
7.设计模式-模板方法模式
算法·设计模式·模板方法模式
努力学算法的蒟蒻35 分钟前
day52(1.2)——leetcode面试经典150
算法·leetcode·面试
java修仙传38 分钟前
力扣hot100:字符串解码
算法·leetcode·职场和发展
Joe_Blue_0240 分钟前
Matlab入门案例介绍—如何创建代码
算法·matlab·matlab基础入门案例介绍
梭七y43 分钟前
【力扣hot100题】(116)矩阵置零
算法·leetcode·矩阵