我们有一个包含N个数字的数组,所有数字都在1-k之间。
问题是如何找到最频繁的三元组的最佳方法。
我对这个问题的解决方法是:
假设输入是{1,2,3,4,1,2,3,4}
首先从数组的第二个元素开始搜索三元组(1,2,3)的计数,一直到数组的末尾。现在我们的计数为1。现在以{2,3,4}开始并搜索数组。
对于每个三元组,我们扫描数组并查找计数。像这样,我们运行n-1次数组。
我的算法以n*n的时间复杂度运行。有没有更好的方法来解决这个问题呢?
问题是如何找到最频繁的三元组的最佳方法。
我对这个问题的解决方法是:
假设输入是{1,2,3,4,1,2,3,4}
首先从数组的第二个元素开始搜索三元组(1,2,3)的计数,一直到数组的末尾。现在我们的计数为1。现在以{2,3,4}开始并搜索数组。
对于每个三元组,我们扫描数组并查找计数。像这样,我们运行n-1次数组。
我的算法以n*n的时间复杂度运行。有没有更好的方法来解决这个问题呢?