<分区>
给定一组 n 个整数和一个整数 x。你能设计一个算法来检查给定集合中的 k 个整数加起来是否等于 x 吗? 复杂度应该是 O(n^(k-1) * logn)
标签 algorithm
<分区>
给定一组 n 个整数和一个整数 x。你能设计一个算法来检查给定集合中的 k 个整数加起来是否等于 x 吗? 复杂度应该是 O(n^(k-1) * logn)
最佳答案
最终复杂度:O(n^(k-1) * logn)
如果你有足够的空间 ( n^(k/2) 长度数组,你也可以在 O( n^(k/2) log(n) ) 中完成。
计算总和的复杂度为 O(1),因为您可以重复使用为之前的组合所做的计算。如果您计算了 (a+b+c+d),则 (a+b+c+e) = (a+b+c+d) -d +e。
关于algorithm - 设计一个算法来检查给定集合中的 k 个整数加起来是否等于 x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9041353/