当前位置: 首页 > news >正文

LeetCode78 子集

前言

题目: 78. 子集
文档: 代码随想录——子集
编程语言: C++
解题状态: 差一点…

思路

如果把 子集问题、组合问题、分割问题都抽象为一棵树的话,那么组合问题和分割问题都是收集树的叶子节点,而子集问题是找树的所有节点!

代码

class Solution {
private:vector<vector<int>> res;vector<int> path;void backtracking(vector<int>& nums, int startIndex) {res.push_back(path);if (startIndex >= nums.size()) {return;}for (int i = startIndex; i < nums.size(); i++) {path.push_back(nums[i]);backtracking(nums, i + 1);path.pop_back();}}
public:vector<vector<int>> subsets(vector<int>& nums) {res.clear();path.clear();backtracking(nums, 0);return res;}
};
  • 时间复杂度: O ( n ∗ 2 n ) O(n*2^n) O(n2n)
  • 空间复杂度: O ( n ) O(n) O(n)

http://www.mrgr.cn/news/18016.html

相关文章:

  • java05
  • CC工具箱使用指南:【整库计算YSDM】
  • 基于 R 语言的深度学习——简单回归案例
  • 青龙:定时任务管理平台介绍
  • 中断处理流程举例(21)
  • 【R语言】基于Biomod2集成平台探究物种分布区的构建流程(SDMs)(持续更新中。。。。。。)
  • nvm管理node版本解决node版本冲突问题
  • GNU/Linux - 进程关联的控制终端
  • 四款经典的防泄密软件,企业防泄密必备软件
  • Gin框架:获取请求头与设置响应头
  • 一文直接搞懂SpringMVC完整版教程
  • 最大子数组和
  • Pinia 与 Vuex 对比
  • 数据结构链串的简单代码实现(C语言代码版)
  • HarmonyOS开发实战( Beta5版)多线程能力场景化示例最佳实践
  • 如何提升网站在Google的排名?
  • SAP自动化操作
  • 2 html5 浏览器已经支持的新API
  • 英特尔或将计划剥离资产削减成本
  • 护栏碰撞监测系统:多场景应用与成功实践案例解析