获取每个数组的产品

时间:2016-02-27 14:35:30

标签: arrays product

我有一个整数数组,我必须在数组中找到每对的乘积。 Say数组为{1,2,3,4},然后输出应为{1*2, 1*3, 1*4, 2*3, 2*4, 3*4}

除了暴力之外还有什么方法可以达到上述效果。通过蛮力,我的意思是从数组中取一个数字并循环遍历数组并存储每对数据。这可以在时间上好于O(n^2)吗?

2 个答案:

答案 0 :(得分:0)

如果没有冗余,除了执行n*(n-1)/2次乘法之外别无选择。

想象一个图表,其中每个项目都是一个节点,每个边缘代表节点连接的乘法。

结果是完整图表,你的输出是每条边的结果,你将得到n*(n-1)/2

答案 1 :(得分:0)

你不能。

由于您可以获得O(n ^ 2)个唯一结果,因此您需要O(n ^ 2)个操作才能访问这些数字。

例如,假设2个数组中的所有数字都是唯一的原始数字。