LeetCode 78. Subsets

Solution1:我的答案
迭代法,时间复杂度O(2n)O(2n)O(2^n),空间复杂度O(1)O(1)O(1)

class Solution {
public:vector<vector<int>> subsets(vector<int>& nums) {vector<vector<int>> res;if (!nums.size()) return res;res.push_back(vector<int>());for (int i = 0; i < nums.size(); i++) {int temp_size = res.size();for (int j = 0; j < temp_size; j++) {/*原写法vector<int> temp = res[j];temp.push_back(nums[i]);res.push_back(temp);*///更聪明的写法res.push_back(res[j]);res.back().push_back(nums[i]);}}return res;}
};

Solution2:
递归法,参考自《leetcode-cpp 答案》
时间复杂度O(2n)O(2n)O(2^n),空间复杂度O(n)O(n)O(n)

class Solution {
public:vector<vector<int>> subsets(vector<int>& nums) {vector<vector<int> > result;vector<int> path;my_subsets(nums, path, 0, result);return result;}void my_subsets(vector<int> &S, vector<int> &path, int step, vector<vector<int> > &result) {if (step == S.size()) {result.push_back(path);return;}//不选S[step]my_subsets(S, path, step + 1, result);//选S[step]path.push_back(S[step]);my_subsets(S, path, step + 1, result);path.pop_back();}
};

【暴力枚举】LeetCode 78. Subsets相关推荐

  1. LeetCode 78. Subsets

    78. Subsets Given a set of distinct integers, nums, return all possible subsets. Note: The solution ...

  2. leetcode [78] Subsets

    Given a set of distinct integers, nums, return all possible subsets (the power set). Note: The solut ...

  3. 【暴力枚举】LeetCode 90. Subsets II

    LeetCode 90. Subsets II solution1和2均是利用set的,3和4是不利用set的 Solution1:我的答案 迭代法 class Solution { public:v ...

  4. 【leetcode】(python)78. Subsets亚群

    亚群 Description Example 题意 解题思路 code 78. Subsets Medium Description Given a set of distinct integers, ...

  5. 最大字段和 冲出暴力枚举

    这篇解题报告是对我最近一些题的总结,里面的代码都是我解题,优化,再优化的过程的记录,记录了自己对算法的完善与优化思路,还有对编程哲学的理解:do it,do it well. 很感谢孙老师您,让自己可 ...

  6. 2014牡丹江网络赛ZOJPretty Poem(暴力枚举)

    /* 将给定的一个字符串分解成ABABA 或者 ABABCAB的形式! 思路:暴力枚举A, B, C串! */ 1 #include<iostream> 2 #include<cst ...

  7. [位运算|状态压缩] leetcode 78 子集

    [位运算|状态压缩]leetcode 78 子集 1.题目 题目链接 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明: 解集不能包含重复的子集. 示例: 输入: n ...

  8. 447 回旋镖的数量(暴力枚举)

    1. 问题描述: 给定平面上 n 对互不相同的点 points ,其中 points[i] = [xi, yi] .回旋镖是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i  ...

  9. 2013数据结构课程设计之便利店选址(暴力枚举或随机函数或三分)

    [问题描述] 某小区决定在小区内部建一家便利店,现小区内部共有八栋楼,它们的地理坐标分别为:(10,20) (30,34) (19,25) (38,49.1) (9,38.1) (2,34) (5,8 ...

最新文章

  1. 玩转VSCode插件之Remote-SSH
  2. Xamarin图表开发基础教程(10)OxyPlot框架支持的图表类型
  3. DPDK — 扩展私有函数库
  4. 科学计算机乱码,软件界面乱码可以这么“破”
  5. 解方程(codevs 3732)
  6. QT学习:Qt 5.11.1+OpenCV (含Contrib)-3.4.3环境搭建
  7. LeetCode 452 用最少数量的箭引爆气球
  8. multi task训练torch_采用single task模型蒸馏到Multi-Task Networks
  9. 如果软件也玩凡尔赛文学,将如何对话?
  10. 财务报表分析-损益表,资产负债表,现金流,回报率
  11. 转载:MATLAB中怎么表示对数函数及e
  12. C语言结构体struck所占用的字节数如何计算
  13. 05 pandas变形
  14. 【华人学者风采】Ting Xu 加州大学伯克利分校
  15. 控制台报错For input string: ““、empty String
  16. c语言服务器制作,C语言写的简易实用的web服务器
  17. vue中使用rem适配方案
  18. android 小米截图,小米6怎么截图?小米6截屏的六种方法
  19. 面向对象:余生很短,希望早点遇见你;余生很长,希望与你看尽人生百态
  20. 2021年最新vue面试题及答案

热门文章

  1. K210系列第一个示例程序
  2. 数据结构笔记(二十八)-- 图的广度优先遍历
  3. Git使用方法(二)-远程库与分支
  4. 64位装32位oracle软件,在64位linux下安装32位oracle软件
  5. 网站导航颜色停留_提高网站流量的方法有哪些?
  6. python常用算法有哪些_python常见排序算法基础教程
  7. consul配置mysql集群_consul1.6实现Mysql-Gtid主从读写分离和高可用-03
  8. ie的lan设置无法保存_Bios 无法识别 M2硬盘
  9. Android项目图像资源保存在,将图像从drawable保存到android中的内部文件存储
  10. Python输入,输出,Python导入