版权声明:原创部分都是自己总结的,如果转载请指明出处。觉得有帮助的老铁,请双击666! https://blog.csdn.net/qq_36387683/article/details/82532407
90. k数和 II
Given n unique integers, number k (1<=k<=n) and target.
Find all possible k integers where their sum is target.
样例
给出[1,2,3,4],k=2, target=5,返回 [[1,4],[2,3]]
class Solution:
"""
@param: A: an integer array
@param: k: a postive integer <= length(A)
@param: targer: an integer
@return: A list of lists of integer
"""
def kSumII(self, A, k, targer):
# write your code here
# 相当于找数组中K个数的组合,然后判断这些组合是否满足要求
self.res = []
self.helper(A, k, targer, 0, len(A)-k+1, [])
return self.res
def helper(self, A, k, target, start, end, nums):
if len(nums) + 1 == k:
for i in range(start, len(A)):
if sum(nums + [A[i]]) == target:
self.res.append(nums + [A[i]])
return
for i in range(start, end):
self.helper(A, k, target, i+1, end+1, nums+[A[i]])