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

78.子集

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

:总

// 注释的都为后来思考不必要的

class Solution {List<List<Integer>> res = new ArrayList<>();List<Integer> temp = new ArrayList<>();public List<List<Integer>> subsets(int[] nums) {// 加入空list// res.add(new ArrayList());// Arrays.sort(nums);backtrace(nums, 0);return res;}// start记录list中第一个元素下标,for从start开始public void backtrace(int[] nums, int start){// if(!res.contains(temp)){ //contains复杂度nres.add(new ArrayList(temp));// return;// }for(int i = start; i < nums.length; i++){// if(!temp.contains(nums[i])) {temp.add(nums[i]);// } else continue;backtrace(nums, i + 1);temp.remove(temp.size() - 1);}}}

:默写一遍加深印象 

List<List<Integer>> res = new ArrayList<>();List<Integer> temp = new ArrayList<>();public List<List<Integer>> subsets(int[] nums){backtrace(nums, start);return res;
}public void backtrace(int[] nums, int start){res.add(new ArrayList(temp));for(int i = start; i < nums.length; i++){temp.add(nums[i]);backtrace(nums, i + 1);temp.remove(temp.size() - 1);}
}

http://www.lryc.cn/news/414801.html

相关文章:

  • 历史标签如何时间迁移?
  • Jenkins参数化构建
  • 函数实例讲解(三)
  • 如何选择适合自己的编程语言?大学新生入门编程最佳路径指南
  • 编程的法则 依赖倒置原则 (Dependency Inversion Principle)包括如何实践
  • [数据集][目标检测]肾结石检测数据集VOC+YOLO格式1299张1类别
  • pxe安装部署
  • Linux用户-sudo命令
  • Unity强化工程 之 SpriteEditer Multiple
  • 大数据Flink(一百零九):阿里云Flink的基本名称概念
  • 如何利用AI工具延长摸鱼时间、准点下班?
  • Yarn:一个快速、可靠且安全的JavaScript包管理工具
  • 上线前端系统
  • 制作一个不依赖任何基础镜像的docker镜像
  • 【拓扑排序topsort】——启动!!!
  • 计算机网络-http协议和https的加密原理
  • 共享`pexlinux`数据文件的网络服务
  • HC32F4A0 10路串口UART 配置
  • 拯救PyCharm:击退IDE崩溃的终极策略
  • 深入解析Unix命令:掌握wc、whereis和which的使用技巧
  • 奥运会大规模使用中国AI大模型!
  • Linux中的线程3
  • 内网权限维持——利用WMI进行权限维持
  • 【数据结构算法经典题目刨析(c语言)】括号匹配问题(图文详解)
  • 浅谈 Spring AOP框架 (1)
  • Linux 面试准备 - 2024
  • C++笔记---类和对象(中)
  • 【C++】入门基础知识
  • AI的应用场景和未来展望
  • vim、sublime、notepad文本编辑器的使用