[Leetcode][第78题][JAVA][子集][位运算][回溯]

【问题描述】[中等]

在这里插入图片描述

【解答思路】

1. 位运算

在这里插入图片描述

复杂度
在这里插入图片描述

class Solution {List<Integer> t = new ArrayList<Integer>();List<List<Integer>> ans = new ArrayList<List<Integer>>();public List<List<Integer>> subsets(int[] nums) {int n = nums.length;for (int mask = 0; mask < (1 << n); ++mask) {t.clear();for (int i = 0; i < n; ++i) {if ((mask & (1 << i)) != 0) {t.add(nums[i]);}}ans.add(new ArrayList<Integer>(t));}return ans;}
}
2. 回溯 begin标记

在这里插入图片描述

在这里插入图片描述

class Solution {List<Integer> t = new ArrayList<Integer>();List<List<Integer>> ans = new ArrayList<List<Integer>>();public List<List<Integer>> subsets(int[] nums) {dfs(0, nums);return ans;}public void dfs(int cur, int[] nums) {if (cur == nums.length) {ans.add(new ArrayList<Integer>(t));return;}t.add(nums[cur]);dfs(cur + 1, nums);t.remove(t.size() - 1);dfs(cur + 1, nums);}
}

【总结】

1. 什么时候用或者不用used数组?

在这里插入图片描述

2.位运算相关

在这里插入图片描述

3.回溯相关题目

[Leedcode][JAVA][第46题][全排列][回溯算法]
[Leetcode][第81题][JAVA][N皇后问题][回溯算法]
[Leetcode][第60题][JAVA][第k个排列][回溯][DFS][剪枝]
[Leetcode][第39题][JAVA][组合总和][回溯][dfs][剪枝]
[Leetcode][第40题][JAVA][数组总和2][回溯][剪枝]
[Leetcode][第216题][JAVA][数组之和3][回溯]
[Leetcode][第79题][JAVA][单词搜索][DFS][回溯]
[Leetcode][第17题][JAVA][电话号码的字母组合][回溯]
[Leetcode][第93题][JAVA][复原IP地址][剪枝][回溯]
[Leetcode][第679题][JAVA][24点游戏][回溯][暴力]

转载链接:https://leetcode-cn.com/problems/subsets/solution/zi-ji-by-leetcode-solution/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十八期:闲鱼上哪些商品抢手?Python分析后告诉你

经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能&#xff0c;都能为他们带来不错的 睡后收入。 作者&#xff1a;星安果 1.目标场景 经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能&#xff0c;都能为他们带来不错的睡后收入。 闲鱼上大量的商品&#xf…

【Breadth-first Search 】785. Is Graph Bipartite?

输入&#xff1a;一个无向图graph。graph[i] 的值是一些节点&#xff0c;表示从i到这些节点有边。图中节点用0到graph.length-1表示。这个图没有指向自己的边&#xff0c;也就是说节点i不会有指向节点i的边。输入中不会有重复的边。 输出&#xff1a;如果这个图是bipartite&…

[Leetcode][第1143题][JAVA][最长公共子序列][LCS][动态规划]

【问题描述】[中等] 【解答思路】 时间复杂度&#xff1a;O(N^2) 空间复杂度&#xff1a;O(N^2) class Solution {public int longestCommonSubsequence(String text1, String text2) {int m text1.length(), n text2.length();int[][] dp new int[m 1][n 1];for (int i …

第十九期:程序员节,女朋友偷偷送了我这个...

10 月 24 日&#xff0c;本是个寻常的日子&#xff0c;但是在新时代的中国&#xff0c;却赋予了它新的意义。 作者&#xff1a;技术栈 10 月 24 日&#xff0c;本是个寻常的日子&#xff0c;但是在新时代的中国&#xff0c;却赋予了它新的意义。 正是广大的程序员们&#xff…

【Breadth-first Search 】103. Binary Tree Zigzag Level Order Traversal

输入&#xff1a;一颗二叉树 输出&#xff1a;这棵树的之字形层次遍历。 规则&#xff1a;之字形层次遍历是指第一层从左到右遍历&#xff0c;第二层从右到左遍历。 分析&#xff1a;这与102的区别就是有从左到右&#xff0c;从右到左遍历的交替过程。我们习惯从左到右遍历。最…

将小数点后的0去掉

decimal d 0.0500M; var C d.ToString("0.##");//0.05 转载于:https://www.cnblogs.com/macT/p/10928118.html

第二十期:黄金三步法 | 汇报时,如何让老板快速抓住重点?

对事物的归类分组是我们人类的天性&#xff0c;我们的大脑会自动将发现的所有事物以某种持续组织起来。但如何组织才能帮助我们解决工作和生活中出现的各种复杂问题?今天&#xff0c;我们请阿里高级技术专家张建飞分享他的黄金三步法。 作者&#xff1a;从码农到工匠 对事物的…

【数据结构与算法】【算法思想】【算法总结】索引结构

“基础不是100分考60分&#xff0c;而是建摩天大楼的地基。” 为什么需要索引&#xff1f; &#xff08;1&#xff09;在实际的软件开发工作的本质都可以抽象为“对数据的存储和计算”。对应到数据结构和算法中&#xff0c;那“存储”需要的就是数据结构&#xff0c;“计算”需…

【Breadth-first Search 】279. Perfect Squares

输入&#xff1a;一个非负整数n。 输出&#xff1a;这个非负整数可以写成几个完全平方数。返回这个数量。 规则&#xff1a;完全平方数可以表示为某个整数的平方。例如&#xff1a;1&#xff0c;4&#xff0c;9… 分析&#xff1a;1349 也就是说13可以写成2个完全平方数的和。我…

vs设置html的模板快

打开vs编辑器&#xff0c;点击文件--》首选项--》用户代码片段 之后选择先对应的编辑器模板 进入里面编写相对应的代码块 之后直接在编辑器中调用。 转载于:https://www.cnblogs.com/zengsf/p/10929653.html

【数据结构与算法】【算法思想】【算法应用】【排序查找搜索】并行

算法的目的就是为了提高代码执行的效率。当算法无法再继续优化的情况下&#xff0c;需要借助并行计算的处理思想对算法进行改造。 并行排序 假设要给大小为 8GB 的数据进行排序&#xff0c;最常用的是三种排序算法&#xff0c;归并排序、快速排序、堆排序&#xff0c;时间复杂…

第二十一期:干货盘点!推荐程序员使用的5款工具软件

说到程序员&#xff0c;大多数人脑袋里显现出来的第一个画面应当就是一个面容冷漠的人指尖在键盘上快速飞跃敲出一行行看不懂的字符就能轻而易举入侵别人的系统。然而想象很丰满&#xff0c;现实是很骨感的&#xff0c;大多数程序员都只是一个简单的码农。 作者&#xff1a;四…

207. Course Schedule

输入&#xff1a;课程数量n&#xff0c;每个课程的编号是0到n-1。课程学习的先后顺序用数组输入&#xff0c;例如[0,1]。要学习课程0&#xff0c;需要先学习课程1。 输出&#xff1a;如果可以学习完所有的课程&#xff0c;返回true&#xff0c;否则返回false。 分析&#xff1a…

第二十二期:New一个对象的时候发生了什么?

如你所知&#xff0c;Java是一门面向对象的编程语言。我们平常在写代码的时候也是在不停的操作各种对象&#xff0c;那么当你在写出User user new User();这样一行代码的时候&#xff0c;JVM都做了些什么呢&#xff1f; 作者&#xff1a;湖人总冠军 一、引言 如你所知&#…

Docker 第四章 访问容器

访问仓库 仓库&#xff08;Repository&#xff09;是集中存放镜像的地方。 一个容易混淆的概念是注册服务器&#xff08;Registry&#xff09;。实际上注册服务器是管理仓库的具体服务器&#xff0c;每个服务器上可以有多个仓库&#xff0c;而每个仓库下面有多个镜像。从这方面…

【数据结构与算法】【算法思想】Dijkstra算法

图的两种搜索算法&#xff0c;深度优先搜素和广度优先搜索。这两种算法主要是针对无权图的搜索算法。针对有权图&#xff0c;也就是图中的每条边都有一个权重&#xff0c;该如何计算两点之间的最短路径&#xff1f;最短路径算法&#xff08;Shortest Path Algorithm&#xff09…

第二十三期:程序员节Keep被曝突然裁员300多人,60%是开发和运营

社交健身App “Keep”突然裁员超300人&#xff0c;而且是在1024程序员节。此次被裁的人员中&#xff0c;大约有60%的人是开发和运营&#xff0c;补偿方案为N1。 作者&#xff1a;三言财经 10月24日脉脉有多条消息称&#xff0c;社交健身App “Keep”突然裁员超300人&#xff0…

542. 01 Matrix

输入&#xff1a;元素值为0或者1的矩阵。 输出&#xff1a; 每个元素距离0的最近距离是多少。 规则&#xff1a;相邻单元格的距离是1&#xff0c;相邻是指上下左右4个方向。 分析&#xff1a;这类似于学习课程安排&#xff0c;可以从元素值为0的单元开始沿4个方向遍历。matrix[…

C++学习第二天(打卡)

C new 可以很方便的 分配一段内存。 比如 int *test new int ;int n;cin>>n;int * test new int [n]; 可以实现动态分配内存&#xff0c;比c的malloc 简洁多了&#xff0c; 同样也能new 一个 结构体。总之挺方便的。 new 之后 不用了 要用delet free 内存 另外对空指…

【数据结构与算法】【算法思想】 A *搜索算法

算法解析 这是一个非常典型的搜索问题。人物的起点就是他当下所在的位置&#xff0c;终点就是鼠标点击的位置。我们需要在地图中&#xff0c;找一条从起点到终点的路径。这条路径要绕过地图中所有障碍物&#xff0c;并且看起来要是一种非常聪明的走法。所谓“聪明”&#xff0…