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
}
相关推荐
tkevinjd2 小时前
图论\dp 两题
leetcode·动态规划·图论
xy_recording5 小时前
Day08 Go语言学习
开发语言·学习·golang
吧唧霸5 小时前
golang读写锁和互斥锁的区别
开发语言·算法·golang
1白天的黑夜16 小时前
链表-2.两数相加-力扣(LeetCode)
数据结构·leetcode·链表
上海迪士尼356 小时前
力扣子集问题C++代码
c++·算法·leetcode
熬了夜的程序员6 小时前
【LeetCode】16. 最接近的三数之和
数据结构·算法·leetcode·职场和发展·深度优先
Miraitowa_cheems6 小时前
LeetCode算法日记 - Day 15: 和为 K 的子数组、和可被 K 整除的子数组
java·数据结构·算法·leetcode·职场和发展·哈希算法
无聊的小坏坏20 小时前
拓扑排序详解:从力扣 207 题看有向图环检测
算法·leetcode·图论·拓扑学
浮灯Foden1 天前
算法-每日一题(DAY13)两数之和
开发语言·数据结构·c++·算法·leetcode·面试·散列表