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
}

运行结果

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

相关推荐
不会就选b1 小时前
算法日常・每日刷题--<贪心>26
数据结构·算法
孟健1 小时前
出海开发者资金合规:从港卡结汇到完税申报实操
后端·架构
by209991 小时前
从结构体到对象:正式学习C++类的骨架、封装与this指针
c++·经验分享·学习
乌暮1 小时前
深入理解 Java 泛型:把「万能盒子」用对、用稳
java·开发语言·后端·学习
Interview Aid1122 小时前
Google SWE Intern Interview Process:OA、Coding 与面试流程详解
面试·职场和发展
架构技术专栏2 小时前
Skill 有效性与稳定性评估:用对照、重复与证据判断价值
后端
拔剑纵狂歌3 小时前
ClickHouse system.query_log 字段详解与排障实践
后端·clickhouse·1024程序员节
hetao17338373 小时前
2026-09-29 hetao1733837 的刷题记录
c++·算法
再吃一根胡萝卜3 小时前
把本地 RAG 问答做"准":多轮指代消解 + 云端语义向量 + TXT 章节切分
后端
怕浪猫3 小时前
2026年金九银十,我面了22个前端
前端·javascript·面试