首页 > 其他分享 >LeetCode:90.子集II

LeetCode:90.子集II

时间:2025-01-18 14:28:24浏览次数:3  
标签:index nums int res II 子集 path 90 LeetCode

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!
代码随想录

LeetCode:90.子集II
给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。
示例 1:
输入:nums = [1,2,2]
输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]
示例 2:
输入:nums = [0]
输出:[[],[0]]

和上一题类似,只是加了排序和树层去重的逻辑if (i > index && nums[i] == nums[i - 1])continue;

	public List<List<Integer>> subsetsWithDup(int[] nums) {
        Arrays.sort(nums);
        List<List<Integer>> res = new ArrayList<>();
        backtracking(nums, 0, new ArrayList<>(), res);
        return res;
    }

    private void backtracking(int[] nums, int index, List<Integer> path, List<List<Integer>> res) {
        res.add(new ArrayList(path));
        for (int i = index; i < nums.length; i++) {
            if (i > index && nums[i] == nums[i - 1]) {
                continue;
            }
            path.add(nums[i]);
            backtracking(nums, i + 1, path, res);
            path.removeLast();
        }
    }

标签:index,nums,int,res,II,子集,path,90,LeetCode
From: https://blog.csdn.net/xiaoshiguang3/article/details/145193820

相关文章

  • leetcode——接雨水(java)
    给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)。示例......
  • leetcode——令牌放置(java)
    你的初始能量为power,初始分数为0,只有一包令牌以整数数组tokens给出。其中tokens[i]是第i个令牌的值(下标从0开始)。你的目标是通过有策略地使用这些令牌以最大化总分数。在一次行动中,你可以用两种方式中的一种来使用一个未被使用的令牌(但不是对同一个令牌使......
  • 27 Xbox蓝牙连接不稳定,游戏中断联,新手柄,反映延持,忽然失联的解决方法,蓝牙连接后无法自
    27新买了一个Xbox,蓝牙连接后有时会突然断联,游戏中会忽然失灵一般新手柄硬件绝对没问题,电脑自己的硬件以及软件驱动也没问题,那就是手柄自带驱动不行,!更新!一个新手柄驱动的即可解决方法1.下载一个软件“XboxAccessories”,微软商店或者网上直接找均可,我这用的网络的网址,因为微软......
  • 强推未发表!3D图!Transformer-LSTM+NSGAII工艺参数优化、工程设计优化!
    目录效果一览基本介绍程序设计参考资料效果一览基本介绍1.Transformer-LSTM+NSGAII多目标优化算法,工艺参数优化、工程设计优化!(Matlab完整源码和数据)Transformer-LSTM模型的架构:输入层:多个变量作为输入,形成一个多维输入张量。Transformer编码器:该编码器由多个T......
  • Biotin sulfo-N-hydroxysuccinimide ester ;生物素磺基-N-羟基琥珀酰亚胺酯;生物素衍生
    一、生物素及其衍生物的概述      生物素衍生物是指在生物素(VitaminH或B7)分子基础上进行化学修饰得到的衍生化合物。这些衍生化合物在生物医学研究、临床诊断和药物开发等领域有着广泛的应用。    生物素(Biotin)是一种水溶性维生素,也被称为维生素H或维生素......
  • Laminin Pentapeptide YIGSR-NH2;层粘连蛋白五肽;抗黏附肽;YIGSR;LAMININ (929-933)肽;1105
    YIGSR 简介    YIGSR是一种能够抑制白血病细胞肿瘤生长和转移的多肽。YIGSR通过67kDa层粘连蛋白结合蛋白阻断细胞与层粘连蛋白I的结合,并抑制剪切诱导的层粘连蛋白细胞 eNOS 表达增加。   【中文名称】层粘连蛋白(929-933);抗黏附肽;酪氨酰-异亮氨酰-......
  • 【LeetCode】力扣刷题热题100道(31-35题)附源码 搜索二维矩阵 岛屿数量 腐烂的橙子 课程
    一、搜索二维矩阵编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。可以使用从右上角开始搜索的方法来有效地找到目标值。选择起始位置:从矩阵的右上角开始。......
  • SQL-按自定义格式进行编号的SQL自定义函数.090119
    生成格式如:DT.EMP.0000000001的自增emp_id,加入EmpBaseINfo表中。--生成格式如DT.EMP.0000000001  【Vegas Add】ALTERFUNCTION[dbo].[Get_EmpBaseInfo_AccountID](@RowIDasint)RETURNSnvarchar(50) as begin    declare@oidnvarchar(50)    dec......
  • SQL-update多条Select出来的数据.090205
    好多朋友喜欢用游标解决此问题,但是执行速度狂慢!其实解决起来很简单了:先来个简单的:把FLowER的Am_employee表的email,dept_id,ext_no多条数据按emp_no对应update到EmpBaseInfo表中:update EmpBaseInfo set email=b.Mail_account,dept_id=b.dept_code,ext_no=b.ext_nofro......
  • 907 骨牌覆盖
    //907骨牌覆盖.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///*http://oj.daimayuan.top/course/22/problem/1047给定一个n×m的棋盘,你需要用1×2的多米诺骨牌去覆盖整个棋盘,请求出有多少种不同的覆盖方案。由于答案可能很大,请输出答案模109+7。输......