ASEMI整流橋KBU2510引數規格,KBU2510尺寸特徵
阿新 • • 發佈:2022-05-06
思路 回溯
還是以遞迴全排列+剪枝來搞,套用回溯模板。
var res [][]int func combinationSum(candidates []int, target int) [][]int { res = make([][]int, 0) backTracking([]int{}, candidates, target, 0) return res } func Sum(nums []int) (res int) { //求和函式,應該可以繼續優化 for _, item := range nums { res += item } return } func backTracking(temp []int, nums []int, target int, start int) { if Sum(temp) == target { //如果當前的和已經滿足條件,結束此分支 tmp := make([]int, len(temp)) copy(tmp, temp) res = append(res, tmp) //將當前路徑的結果新增到最終結果陣列中 return } if Sum(temp) > target { //如果當前陣列的和已經超過target 直接停止後續節點的遞迴 return } length := len(nums) for i := start; i < length; i++ { temp = append(temp, nums[i]) backTracking(temp, nums, target, i) temp = temp[:len(temp)-1] } }