Golang | Leetcode Golang题解之第90题子集II

题目:

题解:

Go 复制代码
func subsetsWithDup(nums []int) (ans [][]int) {
    sort.Ints(nums)
    n := len(nums)
outer:
    for mask := 0; mask < 1<<n; mask++ {
        t := []int{}
        for i, v := range nums {
            if mask>>i&1 > 0 {
                if i > 0 && mask>>(i-1)&1 == 0 && v == nums[i-1] {
                    continue outer
                }
                t = append(t, v)
            }
        }
        ans = append(ans, append([]int(nil), t...))
    }
    return
}
相关推荐
派大星~课堂17 小时前
【力扣-142. 环形链表2 ✨】Python笔记
python·leetcode·链表
会编程的土豆18 小时前
【数据结构与算法】动态规划
数据结构·c++·算法·leetcode·代理模式
Vfw3VsDKo18 小时前
Maui 实践:Go 接口以类型之名,给 runtime 传递方法参数
开发语言·后端·golang
6Hzlia19 小时前
【Hot 100 刷题计划】 LeetCode 78. 子集 | C++ 回溯算法题解
c++·算法·leetcode
py有趣1 天前
力扣热门100题之接雨水
算法·leetcode
不会写DN1 天前
构建一个抗揍的 Go TCP 聊天服务:异常兜底与防御性编程实践
tcp/ip·golang·php
不会写DN1 天前
Go中如何跨语言实现传输? - GRPC
开发语言·qt·golang
py有趣1 天前
力扣热门100题之合并区间
算法·leetcode
派大星~课堂1 天前
【力扣-138. 随机链表的复制 ✨】Python笔记
python·leetcode·链表
cpp_25011 天前
P10108 [GESP202312 六级] 闯关游戏
数据结构·c++·算法·动态规划·题解·洛谷·gesp六级