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

78. Subsets

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

Note: The solution set must not contain duplicate subsets.

Example:

Input: nums = [1,2,3]
Output:
[
  [3],
  [1],
  [2],
  [1,2,3],
  [1,3],
  [2,3],
  [1,2],
  []
]

难度:medium

题目:给定一不含重复元素的集合,求其所有子集。
注意:答案不能包含重复的子集。

思路:递归

Runtime: 1 ms, faster than 100.00% of Java online submissions for Subsets.
Memory Usage: 37.2 MB, less than 0.96% of Java online submissions for Subsets.

class Solution {
    public List<List<Integer>> subsets(int[] nums) {
        List<List<Integer>> result = new ArrayList<>();
        for (int i = 0; i < nums.length; i++) {
            subsets(nums, 0, i + 1, new Stack<>(), result);
        }
        result.add(new ArrayList<>());
        
        return result;
    }
    
    private void subsets(int[] nums, int idx, int k, Stack<Integer> stack, List<List<Integer>> result) {
        if (k <= 0) {
            result.add(new ArrayList<>(stack));
            return;
        }
        for (int i = idx; i < nums.length - k + 1; i++) {
            stack.push(nums[i]);
            subsets(nums, i + 1, k - 1, stack, result);
            stack.pop();
        }
    }
}

相关文章:

  • 如何识别一个字符串是否Json格式
  • 全能App研发助手!滴滴开源DoraemonKit
  • 码农张的Bug人生 - 初来乍到
  • cesiumjs开发实践(四) 地形介绍
  • Linux的文件管理类命令
  • java android 将小数度数转换为度分秒格式
  • [译] React v16.8: 含有Hooks的版本
  • sping 面向切面编程之引入通知
  • 自定义标签简介
  • 一张图知道HTML5布局(图)
  • 七牛云假注销小指南
  • Shell在大数据时代的魅力:从一道百度大数据面试题想到的点滴
  • CentOS7简单部署NFS
  • Axis2发布webservice(1)--0配置发布
  • 从零开始的无人驾驶 1
  • C语言笔记(第一章:C语言编程)
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • iOS编译提示和导航提示
  • October CMS - 快速入门 9 Images And Galleries
  • oldjun 检测网站的经验
  • 从tcpdump抓包看TCP/IP协议
  • 理清楚Vue的结构
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 一道闭包题引发的思考
  • 由插件封装引出的一丢丢思考
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 主流的CSS水平和垂直居中技术大全
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • (BFS)hdoj2377-Bus Pass
  • (C语言)球球大作战
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (笔试题)合法字符串
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (排序详解之 堆排序)
  • (转) Android中ViewStub组件使用
  • (转)Linq学习笔记
  • (转)LINQ之路
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .Net6使用WebSocket与前端进行通信
  • .Net多线程总结
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @RequestMapping用法详解
  • @RestController注解的使用
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [AIGC codze] Kafka 的 rebalance 机制
  • [APUE]进程关系(下)
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [ffmpeg] aac 音频编码