提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、题目-子集
1.题目描述
2.思路与代码
2.1 思路
2.2 代码
总结
提示:这里可以添加本文要记录的大概内容:
3月12日练习内容
提示:以下是本篇文章正文内容,下面案例可供参考
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
示例 1:
输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
示例 2:
输入:nums = [0]
输出:[[],[0]]
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/subsets
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
1.创建集合,调用递归方法
2.每调用一次方法,将temp的值作为数组放入res集合
3.遍历数组,将数组中的值放入temp集合,接着继续递归调用方法,直到退出递归
代码如下(示例):
class Solution {public List> subsets(int[] nums) {//创建集合List> res = new ArrayList<>();backTrack(res,new ArrayList<>(),nums,0);return res;}public void backTrack(List> res,List temp,int[] nums,int start){//将temp的值放入resshuzres.add(new ArrayList<>(temp));for(int i = start;i < nums.length;i ++){temp.add(nums[i]);backTrack(res,temp,nums,i + 1);temp.remove(temp.size() - 1);}}
}
提示:这里对文章进行总结: