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
}
相关推荐
.道阻且长.7 小时前
2.LeetCode算法习题讲解--双指针--复写零
算法·leetcode·职场和发展
To_OC9 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
Tisfy13 小时前
LeetCode 3731.找出缺失的元素:哈希 / 排序
算法·leetcode·哈希算法·排序·哈希表
旖旎夜光14 小时前
LeetCode 11:盛最多水的容器(双指针问题) —— 题解
数据结构·c++·算法·leetcode·双指针
一只齐刘海的猫14 小时前
【Leetcode】乘积最大子数组
算法·leetcode·职场和发展
hold?fish:palm17 小时前
20 旋转图像
c++·算法·leetcode
小南知更鸟18 小时前
【leetcodehot100】leetcode-hot100-20260809更新
算法·leetcode·职场和发展
进击的程序猿~18 小时前
Go Interface源码深度解析指南
开发语言·后端·golang
VL——MOESR20 小时前
【LuoguP1967】货车运输【生成树】【倍增】
c++·算法·题解·倍增·生成树
.道阻且长.21 小时前
1.LeetCode算法习题讲解--双指针--移动零
算法·leetcode·职场和发展