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
}

运行结果

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

相关推荐
牛奶1 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶1 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
NAGNIP3 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
点光7 小时前
使用Sentinel作为Spring Boot应用限流组件
后端
不要秃头啊7 小时前
别再谈提效了:AI 时代的开发范式本质变了
前端·后端·程序员
青青家的小灰灰7 小时前
深入理解事件循环:异步编程的基石
前端·javascript·面试
有志8 小时前
Java 项目添加慢 SQL 查询工具实践
后端
山佳的山8 小时前
KingbaseES 共享锁(SHARE)与排他锁(EXCLUSIVE)详解及测试复现
后端
Leo8998 小时前
rust 从零单排 之 一战到底
后端
程序员清风9 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试