0216.组合总和III:更新Swift实现

This commit is contained in:
bqlin
2021-12-11 23:37:54 +08:00
parent dda0b20926
commit a5c51b705f

View File

@ -452,14 +452,14 @@ int** combinationSum3(int k, int n, int* returnSize, int** returnColumnSizes){
## Swift
```swift
func combinationSum3(_ k: Int, _ n: Int) -> [[Int]] {
func combinationSum3(_ count: Int, _ targetSum: Int) -> [[Int]] {
var result = [[Int]]()
var path = [Int]()
func backtracking(targetSum: Int, k: Int, sum: Int, startIndex: Int) {
func backtracking(sum: Int, startIndex: Int) {
// 剪枝
if sum > targetSum { return }
if sum > targetSum { return }
// 终止条件
if path.count == k {
if path.count == count {
if sum == targetSum {
result.append(path)
}
@ -471,12 +471,12 @@ func combinationSum3(_ k: Int, _ n: Int) -> [[Int]] {
guard startIndex <= endIndex else { return }
for i in startIndex ... endIndex {
path.append(i) // 处理
backtracking(targetSum: targetSum, k: k, sum: sum + i, startIndex: i + 1)
backtracking(sum: sum + i, startIndex: i + 1)
path.removeLast() // 回溯
}
}
backtracking(targetSum: n, k: k, sum: 0, startIndex: 1)
backtracking(sum: 0, startIndex: 1)
return result
}
```