Merge pull request #194 from Mrchangchang/feature-0077

feat: 新增0077组合python、JavaScript解法
This commit is contained in:
Carl Sun
2021-05-19 23:36:04 +08:00
committed by GitHub

View File

@ -370,8 +370,45 @@ class Solution {
Python
```python
class Solution:
result: List[List[int]] = []
path: List[int] = []
def combine(self, n: int, k: int) -> List[List[int]]:
self.result = []
self.combineHelper(n, k, 1)
return self.result
def combineHelper(self, n: int, k: int, startIndex: int):
if (l := len(self.path)) == k:
self.result.append(self.path.copy())
return
for i in range(startIndex, n - (k - l) + 2):
self.path.append(i)
self.combineHelper(n, k, i + 1)
self.path.pop()
```
javascript
```javascript
let result = []
let path = []
var combine = function(n, k) {
result = []
combineHelper(n, k, 1)
return result
};
const combineHelper = (n, k, startIndex) => {
if (path.length === k) {
result.push([...path])
return
}
for (let i = startIndex; i <= n - (k - path.length) + 1; ++i) {
path.push(i)
combineHelper(n, k, i + 1)
path.pop()
}
}
```
Go
```Go
var res [][]int