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
}
相关推荐
hanbr13 分钟前
每日一题day1(Leetcode 76最小覆盖子串)
算法·leetcode
炘爚17 分钟前
LeetCode(两两交换链表中的节点)
算法·leetcode·链表
wsoz17 分钟前
Leetcode矩阵-day7
c++·算法·leetcode·矩阵
不想看见40418 分钟前
Merge k Sorted Lists 优先队列--力扣101算法题解笔记
笔记·算法·leetcode
_深海凉_20 分钟前
LeetCode热题100-合并区间
算法·leetcode·职场和发展
6Hzlia21 分钟前
【Hot 100 刷题计划】 LeetCode 79. 单词搜索 | C++ 标准方向数组 DFS 与回溯
c++·leetcode·深度优先
abant21 小时前
leetcode 76 最小覆盖子串
算法·leetcode·职场和发展
田梓燊1 小时前
leetcode 240
算法·leetcode·职场和发展
We་ct1 小时前
LeetCode 149. 直线上最多的点数:题解深度剖析
前端·javascript·算法·leetcode·typescript
sheeta19981 小时前
LeetCode 每日一题笔记 日期:2026.04.13 题目:1848.到目标元素的最小距离
笔记·算法·leetcode