【力扣 中等 C++】90. 子集 II

目录

题目

解法一:回溯


题目

解法一:回溯

cpp 复制代码
class Solution
{
private:
    void backTrack(vector<vector<int>>& subsets, vector<int>& subset,
        const vector<int>& nums, int startIndex)
    {
        subsets.push_back(subset);

        for (int i {startIndex}; i < nums.size(); i++)
        {
            // 去重
            if (i > startIndex && nums[i - 1] == nums[i])
                continue;

            subset.push_back(nums[i]);
            backTrack(subsets, subset, nums, i + 1);
            subset.pop_back();
        }
    }

public:
    vector<vector<int>> subsetsWithDup(vector<int>& nums)
    {
        vector<vector<int>> subsets;
        vector<int> subset;
        
        sort(nums.begin(), nums.end());
        backTrack(subsets, subset, nums, 0);
        return subsets;
    }
};
相关推荐
Lris-KK几秒前
【Leetcode】高频SQL基础题--1164.指定日期的产品价格
sql·leetcode
Dobby_051 分钟前
【面试题】C++系列(一)
c++·面经
GalaxyPokemon1 分钟前
LeetCode - 1089. 复写零
数据结构
计算机毕业设计木哥3 分钟前
计算机毕设选题:基于Python+Django的B站数据分析系统的设计与实现【源码+文档+调试】
java·开发语言·后端·python·spark·django·课程设计
失散133 分钟前
分布式专题——1.2 Redis7核心数据结构
java·数据结构·redis·分布式·架构
一拳一个呆瓜5 分钟前
【MFC】对话框节点属性:Language(语言)
c++·mfc
陈陈爱java13 分钟前
Spring八股文
开发语言·javascript·数据库
歪歪10017 分钟前
qt creator新手入门以及结合sql server数据库开发
c语言·开发语言·后端·qt·数据库开发
@大迁世界26 分钟前
用 popover=“hint“ 打造友好的 HTML 提示:一招让界面更“懂人”
开发语言·前端·javascript·css·html
Moonbit27 分钟前
月报Vol.03: 新增Bitstring pattern支持,构造器模式匹配增强
后端·算法·github