From 142c4bb83dbb97eaba1616afdca72292add9d0e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E7=95=85?= Date: Wed, 19 May 2021 14:20:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E0077=E7=BB=84?= =?UTF-8?q?=E5=90=88python=E3=80=81JavaScript=E8=A7=A3=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0077.组合.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/problems/0077.组合.md b/problems/0077.组合.md index 1f0d6eb1..d9d4b17f 100644 --- a/problems/0077.组合.md +++ b/problems/0077.组合.md @@ -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