代码随想录 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;
    }
};
相关推荐
自然语7 分钟前
人工智能之数字生命-学习的过程
数据结构·人工智能·深度学习·学习·算法
天蓝色的鱼鱼8 分钟前
写Tailwind CSS像在写屎山?这锅该不该它背
前端·css
#做一个清醒的人12 分钟前
【Electron】IpcMainEvent 参数使用总结
前端·electron
Yuezero_18 分钟前
Research Intern面试(一)——手敲LLM快速复习
pytorch·深度学习·算法
月弦笙音20 分钟前
【包管理器】pnpm、npm、cnpm、yarn 深度对比
前端
吹水一流24 分钟前
微信小程序页面栈:从一个 Bug 讲到彻底搞懂
前端·微信小程序
j***827028 分钟前
【MyBatisPlus】MyBatisPlus介绍与使用
android·前端·后端
Python大数据分析@28 分钟前
我把pdfplumber整成了可以拖拉拽的web软件
前端·pdf
wyiyiyi29 分钟前
【数据结构+算法】非递归遍历二叉树的理解
大数据·数据结构·笔记·算法·leetcode·数据分析
小华同学ai33 分钟前
终于有人帮你整理好了,火爆的“系统级提示词”支持ChatGPT、Claude、Gemini、xAI的
前端·后端·github