这里是典型的4数之和问题。
给定一个由n个整数组成的数组S,是否存在元素a、b、c和d在S中使得a+b+c+d=target?找到数组中所有唯一的四元组,它们的和为target。
我知道的一种解决方案需要O(n^3)时间。但是当我分析最小时间复杂度时,我被这句话困惑了:“由于有O(n^4)种4个数字的组合,在最坏情况下,它们可能全部加起来等于目标数字,因此我们至少要访问每个组合一次。因此,最小时间复杂度是O(n^4)。”
我知道这个陈述显然是错误的(毕竟存在O(n^3)的算法),但不知道为什么。
我知道这可能是一个愚蠢的问题……但我真的很困惑。有人能帮忙吗?提前感谢。
给定一个由n个整数组成的数组S,是否存在元素a、b、c和d在S中使得a+b+c+d=target?找到数组中所有唯一的四元组,它们的和为target。
我知道的一种解决方案需要O(n^3)时间。但是当我分析最小时间复杂度时,我被这句话困惑了:“由于有O(n^4)种4个数字的组合,在最坏情况下,它们可能全部加起来等于目标数字,因此我们至少要访问每个组合一次。因此,最小时间复杂度是O(n^4)。”
我知道这个陈述显然是错误的(毕竟存在O(n^3)的算法),但不知道为什么。
我知道这可能是一个愚蠢的问题……但我真的很困惑。有人能帮忙吗?提前感谢。