mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-12 05:20:59 +08:00
更新 0078.子集问题 排版格式修复
This commit is contained in:
@ -27,12 +27,12 @@
|
||||
[]
|
||||
]
|
||||
|
||||
# 算法公开课
|
||||
## 算法公开课
|
||||
|
||||
**《代码随想录》算法视频公开课:[回溯算法解决子集问题,树上节点都是目标集和! | LeetCode:78.子集](https://www.bilibili.com/video/BV1U84y1q7Ci),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
|
||||
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html):[回溯算法解决子集问题,树上节点都是目标集和! | LeetCode:78.子集](https://www.bilibili.com/video/BV1U84y1q7Ci),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
|
||||
|
||||
|
||||
# 思路
|
||||
## 思路
|
||||
|
||||
求子集问题和[77.组合](https://programmercarl.com/0077.组合.html)和[131.分割回文串](https://programmercarl.com/0131.分割回文串.html)又不一样了。
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
|
||||
从图中红线部分,可以看出**遍历这个树的时候,把所有节点都记录下来,就是要求的子集集合**。
|
||||
|
||||
## 回溯三部曲
|
||||
### 回溯三部曲
|
||||
|
||||
* 递归函数参数
|
||||
|
||||
@ -102,8 +102,6 @@ for (int i = startIndex; i < nums.size(); i++) {
|
||||
}
|
||||
```
|
||||
|
||||
## C++代码
|
||||
|
||||
根据[关于回溯算法,你该了解这些!](https://programmercarl.com/回溯算法理论基础.html)给出的回溯算法模板:
|
||||
|
||||
```
|
||||
@ -158,7 +156,7 @@ public:
|
||||
|
||||
并不会,因为每次递归的下一层就是从i+1开始的。
|
||||
|
||||
# 总结
|
||||
## 总结
|
||||
|
||||
相信大家经过了
|
||||
* 组合问题:
|
||||
@ -178,10 +176,10 @@ public:
|
||||
|
||||
**而组合问题、分割问题是收集树形结构中叶子节点的结果**。
|
||||
|
||||
# 其他语言版本
|
||||
## 其他语言版本
|
||||
|
||||
|
||||
## Java
|
||||
### Java
|
||||
```java
|
||||
class Solution {
|
||||
List<List<Integer>> result = new ArrayList<>();// 存放符合条件结果的集合
|
||||
@ -205,7 +203,7 @@ class Solution {
|
||||
}
|
||||
```
|
||||
|
||||
## Python
|
||||
### Python
|
||||
```python
|
||||
class Solution:
|
||||
def subsets(self, nums):
|
||||
@ -224,7 +222,7 @@ class Solution:
|
||||
path.pop()
|
||||
```
|
||||
|
||||
## Go
|
||||
### Go
|
||||
```Go
|
||||
var (
|
||||
path []int
|
||||
@ -248,7 +246,7 @@ func dfs(nums []int, start int) {
|
||||
}
|
||||
```
|
||||
|
||||
## Javascript
|
||||
### Javascript
|
||||
|
||||
```Javascript
|
||||
var subsets = function(nums) {
|
||||
@ -267,7 +265,7 @@ var subsets = function(nums) {
|
||||
};
|
||||
```
|
||||
|
||||
## TypeScript
|
||||
### TypeScript
|
||||
|
||||
```typescript
|
||||
function subsets(nums: number[]): number[][] {
|
||||
@ -287,7 +285,7 @@ function subsets(nums: number[]): number[][] {
|
||||
};
|
||||
```
|
||||
|
||||
## Rust
|
||||
### Rust
|
||||
|
||||
```Rust
|
||||
impl Solution {
|
||||
@ -311,7 +309,7 @@ impl Solution {
|
||||
}
|
||||
```
|
||||
|
||||
## C
|
||||
### C
|
||||
|
||||
```c
|
||||
int* path;
|
||||
@ -369,7 +367,7 @@ int** subsets(int* nums, int numsSize, int* returnSize, int** returnColumnSizes)
|
||||
}
|
||||
```
|
||||
|
||||
## Swift
|
||||
### Swift
|
||||
|
||||
```swift
|
||||
func subsets(_ nums: [Int]) -> [[Int]] {
|
||||
@ -392,7 +390,7 @@ func subsets(_ nums: [Int]) -> [[Int]] {
|
||||
}
|
||||
```
|
||||
|
||||
## Scala
|
||||
### Scala
|
||||
|
||||
思路一: 使用本题解思路
|
||||
|
||||
@ -451,3 +449,4 @@ object Solution {
|
||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||
</a>
|
||||
|
||||
|
Reference in New Issue
Block a user