Golang | Leetcode Golang题解之第47题全排列II

题目:

题解:

Go 复制代码
func permuteUnique(nums []int) (ans [][]int) {
    sort.Ints(nums)
    n := len(nums)
    perm := []int{}
    vis := make([]bool, n)
    var backtrack func(int)
    backtrack = func(idx int) {
        if idx == n {
            ans = append(ans, append([]int(nil), perm...))
            return
        }
        for i, v := range nums {
            if vis[i] || i > 0 && !vis[i-1] && v == nums[i-1] {
                continue
            }
            perm = append(perm, v)
            vis[i] = true
            backtrack(idx + 1)
            vis[i] = false
            perm = perm[:len(perm)-1]
        }
    }
    backtrack(0)
    return
}
相关推荐
CoderYanger1 小时前
A.每日一题:3020. 子集中元素的最大数量
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
什巳2 小时前
JAVA练习312- 二叉搜索树中第 K 小的元素
java·数据结构·算法·leetcode
Wzx1980124 小时前
RAG优化:17中RAG优化方案,那种才是最佳选择?
golang
李燚4 小时前
Graph 执行引擎源码:Eino 的节点调度是怎么工作的(第56篇-E42)
golang·ai编程·graph·agent框架·eino
想吃火锅10055 小时前
【leetcode】5.最长回文子串js
算法·leetcode·职场和发展
CoderYanger5 小时前
A.每日一题:1967题+1331题
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
wujf905 小时前
Go 内存泄漏排查完整教程 (pprof)
开发语言·golang·xcode
va学弟5 小时前
LeetCode 热题 100 题解(1):哈希
python·算法·leetcode·哈希算法
Wang's Blog6 小时前
Go-Zero项目开发5: 数据库与缓存一致性问题及 go-zero 缓存机制解析
数据库·缓存·golang
布朗克1686 小时前
Go 入门到精通-18-文件操作
java·数据库·golang