代码随想录 Leetcode90. 子集 II

题目:


代码(首刷自解 2024年2月3日):

cpp 复制代码
class Solution {
private:
    vector<vector<int>> res;
    vector<int> path;
public:
    void backtracking(vector<int>& nums, int startIndex,vector<bool> used) {
        res.push_back(path);
        if (startIndex > nums.size()) return;
        for (int i = startIndex; i < nums.size(); ++i) {
            if (i > 0 && nums[i] == nums[i - 1] && !used[i - 1]) {
                /*递归抽象成的树的同一层:若同一层的某个元素和与他相邻的
                  上一个元素相同则跳过该分支*/
                continue;
            }
            path.push_back(nums[i]);
            used[i] = true;
            backtracking(nums, i + 1, used);
            used[i] = false;
            path.pop_back();
        }
    }
    vector<vector<int>> subsetsWithDup(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        vector<bool> used(nums.size(),0);
        backtracking(nums, 0, used);
        return res;
    }
};
相关推荐
学会870上岸华师11 分钟前
C 语言程序设计——第一章课后编程题
c语言·开发语言·学习·算法
小马过河R19 分钟前
RAG检索优化策略:系统性四层框架解析
人工智能·python·算法·ai·llm·rag·问答
zz58820 分钟前
面试官问"JS的类型"时,到底想听到什么?
javascript
gjwjuejin22 分钟前
全埋点技术方案深度剖析:从事件代理到无痕采集的完整实现
javascript
AI技术控29 分钟前
论文解读:AE-TCN-SA——基于自编码器、TCN 与自注意力机制的锂电池内短路诊断方法
人工智能·python·深度学习·算法·机器学习·自然语言处理
十有八七29 分钟前
AI 开发,本质是一场文档的生命周期管理
前端·人工智能
ʚ希希ɞ ྀ32 分钟前
动态规划基础知识---爬楼梯
算法·动态规划
计算机安禾1 小时前
【c++面向对象编程】第26篇:对象的内存模型:成员变量与成员函数的存储分离
开发语言·c++·算法
Hyyy1 小时前
普通前端自救记录——第0周
前端
贩卖黄昏的熊1 小时前
陕西省ICPC省赛总结
算法