2 条题解

  • 0
    @ 2025-10-8 16:51:47

    题目描述

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

    思路分析

    采用深度优先搜索(DFS)的暴力枚举方法。通过标记已使用的数字,每次从剩余未使用的数字中选择一个加入当前路径,递归处理直到路径长度等于数组长度,此时将路径记录为一个排列结果。

    代码实现

    def permute(nums):
        result = []
        used = [False] * len(nums)
        
        def dfs(path):
            if len(path) == len(nums):
                result.append(path.copy())
                return
            for i in range(len(nums)):
                if not used[i]:
                    used[i] = True
                    path.append(nums[i])
                    dfs(path)
                    path.pop()
                    used[i] = False
        
        dfs([])
        return result
    
    • 0
      @ 2025-10-8 16:51:35

      直接暴搜就好

      • 1

      信息

      ID
      690
      时间
      1000ms
      内存
      128MiB
      难度
      9
      标签
      递交数
      17
      已通过
      3
      上传者