Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 是否有可能在O(n)时间内找到给定数组中的所有三元组?_Arrays_Algorithm_Find_Triplet - Fatal编程技术网

Arrays 是否有可能在O(n)时间内找到给定数组中的所有三元组?

Arrays 是否有可能在O(n)时间内找到给定数组中的所有三元组?,arrays,algorithm,find,triplet,Arrays,Algorithm,Find,Triplet,给定一个数字数组,找到所有满足给定条件的三元组 条件:a[i]

给定一个数字数组,找到所有满足给定条件的三元组

条件:
a[i]
其中
i

有可能在O(n)时间内解决这个问题吗

这不是家庭作业

输出的大小(最坏情况)是复杂性的下限

因为可能存在O(n^3)这样的三元组,所以复杂性不能是O(n)

例如,如果数组是从最低到最高排序的,那么您将有n个选择3个这样的三元组,其顺序为n^3

如果问题涉及到寻找三胞胎的数量,下面是我看到的最有效的解决方案:


找到还是数一数?(我认为在O(n)中找到它们是不可能的,因为在最坏的情况下有O(n^3)这样的三元组)如何计算给定数组中的三元组数?问题的根源问题1:给定一个数字数组,找到满足给定条件的所有这类三元组。这个问题的表述不正确?我认为它的表述不正确。“查找所有三联体”应该是“计算所有三联体”或“查找三联体的数量”,如何查找三联体的数量?