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
}
相关推荐
千金裘换酒15 小时前
LeetCode 移动零元素 快慢指针
算法·leetcode·职场和发展
漫随流水16 小时前
leetcode算法(515.在每个树行中找最大值)
数据结构·算法·leetcode·二叉树
千金裘换酒18 小时前
LeetCode反转链表
算法·leetcode·链表
圣保罗的大教堂20 小时前
leetcode 1161. 最大层内元素和 中等
leetcode
闲看云起20 小时前
LeetCode-day6:接雨水
算法·leetcode·职场和发展
黛色正浓20 小时前
leetCode-热题100-贪心合集(JavaScript)
javascript·算法·leetcode
一起努力啊~21 小时前
算法刷题--长度最小的子数组
开发语言·数据结构·算法·leetcode
leoufung21 小时前
LeetCode 221:Maximal Square 动态规划详解
算法·leetcode·动态规划
源代码•宸21 小时前
Leetcode—39. 组合总和【中等】
经验分享·算法·leetcode·golang·sort·slices
好易学·数据结构21 小时前
可视化图解算法77:零钱兑换(兑换零钱)
数据结构·算法·leetcode·动态规划·力扣·牛客网