78. Subsets

/**
* 78. Subsets
* https://leetcode.com/problems/subsets/description/
*
* 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],
[]
]
* */

复制代码
 1 class Solution {
 2     fun subsets(A: IntArray): List<List<Int>> {
 3         A.sort();
 4         val result = ArrayList<ArrayList<Int>>();
 5         helper(result, ArrayList<Int>(), A, 0);
 6         return result;
 7     }
 8 
 9     fun helper(result: ArrayList<ArrayList<Int>>, arr: ArrayList<Int>, A: IntArray, index: Int){
10         result.add(ArrayList<Int>(arr));//new reference for arr
11         for (i in index..(A.size - 1)) {
12             arr.add(A[i]);
13             helper(result, arr, A, i + 1);
14             arr.removeAt(arr.size - 1);
15         }
16     }
17 }
复制代码

 




posted @   johnny_zhao  阅读(119)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示