@@ -511,5 +511,35 @@ func combinationSum3(_ count: Int, _ targetSum: Int) -> [[Int]] {
511
511
}
512
512
```
513
513
514
+ ## Scala
515
+
516
+ ``` scala
517
+ object Solution {
518
+ import scala .collection .mutable
519
+ def combinationSum3 (k : Int , n : Int ): List [List [Int ]] = {
520
+ var result = mutable.ListBuffer [List [Int ]]()
521
+ var path = mutable.ListBuffer [Int ]()
522
+
523
+ def backtracking (k : Int , n : Int , sum : Int , startIndex : Int ): Unit = {
524
+ if (sum > n) return // 剪枝,如果sum>目标和,就返回
525
+ if (sum == n && path.size == k) {
526
+ result.append(path.toList)
527
+ return
528
+ }
529
+ // 剪枝
530
+ for (i <- startIndex to (9 - (k - path.size) + 1 )) {
531
+ path.append(i)
532
+ backtracking(k, n, sum + i, i + 1 )
533
+ path = path.take(path.size - 1 )
534
+ }
535
+ }
536
+
537
+ backtracking(k, n, 0 , 1 ) // 调用递归方法
538
+ result.toList // 最终返回结果集的List形式
539
+ }
540
+ }
541
+ ```
542
+
543
+
514
544
-----------------------
515
545
<div align =" center " ><img src =https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width =500 > </img ></div >
0 commit comments