题目
你有一个整数列表和一个目标数字。你的任务是找出这个列表里有多少种方式(组合),使得其中的k个数字加起来等于那个目标数字。
列表中的数字个数介于2到200之间。
列表中的每个数字和目标数字都在-109到109之间。
k的值介于2到100之间。
举个例子:
给你数字列表: -1 0 1 2 -1 -4,k为3,目标数字为0。
你可以找到两种方式:[-1,0,1] 和 [-1,-1,2],所以答案是2。
代码
def count_valid_combinations(nums, k, target):
# 如果nums长度小于k,显然不可能找到k个数满足条件
if len(nums) <