思路
dp算法
dp[i-nums[j]]即以i-nums[j]作为target的时候所需要的组合数
code
func combinationSum4(nums []int, target int) int {
dp := make([]int, len(nums)+1)
dp[0] = 1
for i := 1; i <= target; i++ {
for _, v := range nums {
if v <= i {
dp[i] += dp[i-v]
}
}
}
return dp[target]
}
更多内容请移步我的repo:https://github.com/anakin/golang-leetcode