问题:给定一个包含 n 个整数的数组和一个整数 target,在 nums 中是否存在元素 a、b、c 和 d 使得 a + b + c + d = target?在给出目标总和的数组中找到所有唯一的四元组。
所以有一个明显的 n^3 解决方案,带有排序,两个嵌套的 for 循环,然后检查。
但是有没有办法做得更好呢?请注意,这不是决策问题,只是查看是否存在解决方案,而是返回所有 个独特的四元组。
最佳答案
不,不可能以比 O(n^3)
时间复杂度更有效的方式找到所有唯一的四元组。但是,如果您只想计算四元组的数量而不是列表,这可以在 O(n^2)
时间复杂度内实现。
关于algorithm - 有没有办法在比 O(n^3) 时间更好的时间内解决 4Sum 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52237689/