Leetcode—47. 全排列 II【中等】

2025每日刷题(245)

Leetcode---47. 全排列 II

实现代码

go 复制代码
import "slices"
func permuteUnique(nums []int) [][]int {
    n := len(nums)
    slices.Sort(nums)
    var ans [][]int
    var path []int
    var dfs func(idx int)
    visited := make(map[int]bool)
    dfs = func(idx int) {
        if idx == n {
            tmp := make([]int, n)
            copy(tmp, path)
            ans = append(ans, tmp)
        }
        for i := 0; i < n; i++ {
            if visited[i] || (i > 0 && nums[i] == nums[i - 1] && !visited[i - 1]) {
                continue
            }
            visited[i] = true
            path = append(path, nums[i])
            dfs(idx + 1)
            path = path[:len(path) - 1]
            visited[i] = false
        }
    }
    dfs(0)
    return ans
}

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
技术长镜头7 分钟前
别再只说“走 B+Tree”:一条 SQL 在 InnoDB 中的完整寻址过程
后端·mysql
SomeB1oody11 分钟前
【RustyML入门】3.8. 正则化与归一化层
开发语言·后端·机器学习·rust·教程
码匠许师傅15 分钟前
【C++ 面试真题】聊聊 C++ 的虚函数和多态
java·c++·面试
zhiSiBuYu051716 分钟前
Flask Session 与 Cookie 新手实战指南
后端·python·flask
LuminousCPP31 分钟前
单链表专题(四)-刷题复盘篇-LeetCode 138 随机链表复制|原地拷贝法突破复杂指针操作
数据结构·笔记·算法·leetcode·链表
2601_9539880732 分钟前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·后端·物联网·tcp/ip·数学建模·前端框架
IT_陈寒1 小时前
SpringBoot自动配置坑了我三天,原来漏了这个注解
前端·人工智能·后端
逆境不可逃1 小时前
【LeetCode 912】排序数组——随机化快速排序详解
数据结构·算法·排序算法
Coder-magician1 小时前
《代码随想录》刷题打卡day31:动态规划-背包问题part02
算法·动态规划
薛定e的猫咪1 小时前
从因果视角解决多智能体协作:细读 SCIC 算法
算法