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
}
相关推荐
血小板要健康1 天前
链表 阶段算法总结
java·数据结构·笔记·算法·leetcode·链表
a187927218311 天前
【算法】回溯算法(三):三记重锤与 N 皇后——记忆化、状态设计与三层漏斗
算法·leetcode·go·剪枝·回溯·n皇后·算法讲解
平头哥AI1 天前
Day 01 | go run 跑通第一个 Go 程序,go build 留下一个能拷走的 exe
开发语言·后端·golang
2601_962296511 天前
如何使用Golang包路径_管理本地和远程模块引用
golang·数据转换·变量定义·常用库·编程语言区别
青 春 记 忆1 天前
LeetCode 350. 两个数组的交集 II|Python 解法详解
python·算法·leetcode
lvwangshu1 天前
P5324 [BJOI2019] 删数 题解
线段树·题解·性质题
圣保罗的大教堂1 天前
leetcode 3903. 最小稳定下标 I 简单
leetcode
FfHUCisI1 天前
GMP 调度器:Go 并发的心脏是如何跳动的
开发语言·golang·php
sylviiiiiia1 天前
Leetcode hot100 多数元素/相交链表/反转链表
算法·leetcode·链表
CoderYanger1 天前
A.每日一题:3622. 判断整除性
java·程序人生·算法·leetcode·面试·职场和发展·蓝桥杯