1. 程式人生 > 其它 >Cesium顏色漸變的圍牆

Cesium顏色漸變的圍牆

描述

找出所有相加之和為n 的k個數的組合。組合中只允許含有 1 -9 的正整數,並且每種組合中不存在重複的數字。

說明:

所有數字都是正整數。
解集不能包含重複的組合。

連結

216. 組合總和 III - 力扣(LeetCode) (leetcode-cn.com)

解法

 1 class Solution {
 2     List<List<Integer>> res = new ArrayList<>();
 3     Deque<Integer> path  = new ArrayDeque<>();
 4     public
List<List<Integer>> combinationSum3(int k, int n) { 5 backtracking(n, k, 1, 0); 6 return res; 7 } 8 9 public void backtracking(int targetSum, int k, int StartIndex, int sum) { 10 if (sum > targetSum) { // 剪枝 11 return; 12 } 13 if
(path.size() == k) { 14 if (sum == targetSum) { 15 res.add(new ArrayList<>(path)); 16 } 17 return; 18 } 19 for (int i = StartIndex; i <= 9 - (k - path.size()) + 1; i++) { // i <= 中的 等於不能忘記 20 sum += i; 21 path.add(i);
22 backtracking(targetSum, k, i + 1, sum); 23 sum -= i; 24 path.removeLast(); 25 } 26 } 27 }

參考

carl