给定的是一个数字数组:
1, 2, 8, 6, 9, 0, 4
我们需要找到三个一组中的所有数字,它们的总和为 N(在本例中为 11)。在这里,三人一组的可能数字是:
{1,2,8}, {1,4,6}, {0,2,9}
我能想到的第一个解决方案是 O(n^3)。后来我可以用这种方法改进一点(n^2 log n):
1. Sort the array.
2. Select any two number and perform binary search for the third element.
可以通过其他一些方法进一步改进吗?