[leetcode] 46. Permutations

发布时间:2022-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了[leetcode] 46. Permutations脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

题目

Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.

Example 1:

Input: nums = [1,2,3]
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

Example 2:

Input: nums = [0,1]
Output: [[0,1],[1,0]]

Example 3:

Input: nums = [1]
Output: [[1]]

Constraints:

  • 1 <= nums.length <= 6
  • -10 <= nums[i] <= 10
  • All the integers of nums are unique.

思路

递归向数组中追加值,数组满时填入list中。

代码

python版本:

class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        used = [0 for _ in range(len(nums))]
        res = []

        def recursion(n):
            if len(n) == len(nums):
                res.append(n)
                return
            for i in range(len(nums)):
                if used[i]:
                    continue
                used[i] = 1
                recursion(n+[nums[i]])
                used[i] = 0
        recursion([])
        return res

脚本宝典总结

以上是脚本宝典为你收集整理的[leetcode] 46. Permutations全部内容,希望文章能够帮你解决[leetcode] 46. Permutations所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: