0216.组合总和III:Swift实现减少参数

This commit is contained in:
bqlin
2021-12-18 20:06:04 +08:00
parent 90aa75c573
commit 7c4bafe9b1

View File

@ -462,7 +462,7 @@ int** combinationSum3(int k, int n, int* returnSize, int** returnColumnSizes){
func combinationSum3(_ count: Int, _ targetSum: Int) -> [[Int]] { func combinationSum3(_ count: Int, _ targetSum: Int) -> [[Int]] {
var result = [[Int]]() var result = [[Int]]()
var path = [Int]() var path = [Int]()
func backtracking(sum: Int, startIndex: Int) { func backtracking(sum: Int, start: Int) {
// 剪枝 // 剪枝
if sum > targetSum { return } if sum > targetSum { return }
// 终止条件 // 终止条件
@ -474,16 +474,16 @@ func combinationSum3(_ count: Int, _ targetSum: Int) -> [[Int]] {
} }
// 单层逻辑 // 单层逻辑
let endIndex = 9 let end = 9
guard startIndex <= endIndex else { return } guard start <= end else { return }
for i in startIndex ... endIndex { for i in start ... end {
path.append(i) // 处理 path.append(i) // 处理
backtracking(sum: sum + i, startIndex: i + 1) backtracking(sum: sum + i, start: i + 1)
path.removeLast() // 回溯 path.removeLast() // 回溯
} }
} }
backtracking(sum: 0, startIndex: 1) backtracking(sum: 0, start: 1)
return result return result
} }
``` ```