将向量的元素与相同向量的所有元素相乘

Akshay Arora

我正在尝试解决一个问题,其中我想将向量的元素与相同向量的所有元素相乘(也与self相乘)。

我有一个可行的解决方案,如下所示:

for(int i=0;i<v.size();i++)
        {
            for(int j=0;j<v.size();j++)
            {
                r.insert(v[i]*v[j]);
            }

        }

这里v是最初存储我的元素r的向量,也是我存储产品的向量。

我面临的问题

这是一个O(N ^ 2)算法,我想在O(N)时间内实现。有什么办法可以做到这一点?谢谢。

编辑1:

实际上,我想在通过将向量元素与其他元素相乘而获得的数字列表中找到第n个最大数字。我的方法是:

  1. 查找产品并将值存储在向量中。(时间-O(N ^ 2))。
  2. 排序向量。(时间-O(N logN))
  3. 通过索引访问找到第n个最大的数字。

我想提高N ^ 2的时间复杂度。

卢克·图拉耶

您可以做的是避免两次计算相同的值。确实,通过您的解决方案,所有对将相乘两次。如果您在矩阵中显示结果值,则将最好地看到这一点:

input: [a, b, c]

output:

aa ba ca
ab bb cb
ac bc cc

您可以看到对角线两侧的对称性。这意味着在计算第n列时,您只需要计算size of input - n值,因为其他值n已经存在于前面的列中,您可以在其中检索它们。

请注意,尽管如此,这不会影响算法的复杂性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++将向量的向量元素推入向量

来自分类Dev

使用广播根据向量中的元素将矩阵行相乘?

来自分类Dev

将向量元素移到向量的背面

来自分类Dev

将向量中的所有元素与列表中的所有元素进行比较,而无需for循环

来自分类Dev

C ++:如何在向量向量中打印所有元素

来自分类Dev

如何将所有浮点元素转换为向量的整数元素

来自分类Dev

将向量的元素与相同向量的所有元素相乘

来自分类Dev

寻找最快的方法来获取向量中相同元素之间的所有间隔

来自分类Dev

向量元素彼此相乘

来自分类Dev

提取向量中名称相同的所有元素

来自分类Dev

使一个字符向量的所有元素都具有相同的长度

来自分类Dev

参考相同向量的数据插入向量

来自分类Dev

以相同顺序将向量的所有元素与向量匹配

来自分类Dev

向量的所有元素之间的逐元素乘法

来自分类Dev

多个线程在同一向量的不同向量上同时添加元素发生错误

来自分类Dev

显示向量的所有元素

来自分类Dev

将R中向量的某些元素相乘

来自分类Dev

将向量的每个元素的元素与相同向量的后续元素相除

来自分类Dev

提取相同向量的滚动序列

来自分类Dev

提取相同向量的滚动序列

来自分类Dev

以相同顺序将向量的所有元素与向量匹配

来自分类Dev

使用广播根据向量中的元素将矩阵行相乘?

来自分类Dev

将向量中的所有元素与列表中的所有元素进行比较,而无需for循环

来自分类Dev

C ++:如何在向量向量中打印所有元素

来自分类Dev

向量元素彼此相乘

来自分类Dev

将具有相同第一个元素的向量分组到向量列表中

来自分类Dev

R:如何将向量的所有元素除以所有其他元素的总和

来自分类Dev

CUDA:所有向量元素的级联求和

来自分类Dev

在 C 中迭代具有相同向量的矩阵

Related 相关文章

  1. 1

    C ++将向量的向量元素推入向量

  2. 2

    使用广播根据向量中的元素将矩阵行相乘?

  3. 3

    将向量元素移到向量的背面

  4. 4

    将向量中的所有元素与列表中的所有元素进行比较,而无需for循环

  5. 5

    C ++:如何在向量向量中打印所有元素

  6. 6

    如何将所有浮点元素转换为向量的整数元素

  7. 7

    将向量的元素与相同向量的所有元素相乘

  8. 8

    寻找最快的方法来获取向量中相同元素之间的所有间隔

  9. 9

    向量元素彼此相乘

  10. 10

    提取向量中名称相同的所有元素

  11. 11

    使一个字符向量的所有元素都具有相同的长度

  12. 12

    参考相同向量的数据插入向量

  13. 13

    以相同顺序将向量的所有元素与向量匹配

  14. 14

    向量的所有元素之间的逐元素乘法

  15. 15

    多个线程在同一向量的不同向量上同时添加元素发生错误

  16. 16

    显示向量的所有元素

  17. 17

    将R中向量的某些元素相乘

  18. 18

    将向量的每个元素的元素与相同向量的后续元素相除

  19. 19

    提取相同向量的滚动序列

  20. 20

    提取相同向量的滚动序列

  21. 21

    以相同顺序将向量的所有元素与向量匹配

  22. 22

    使用广播根据向量中的元素将矩阵行相乘?

  23. 23

    将向量中的所有元素与列表中的所有元素进行比较,而无需for循环

  24. 24

    C ++:如何在向量向量中打印所有元素

  25. 25

    向量元素彼此相乘

  26. 26

    将具有相同第一个元素的向量分组到向量列表中

  27. 27

    R:如何将向量的所有元素除以所有其他元素的总和

  28. 28

    CUDA:所有向量元素的级联求和

  29. 29

    在 C 中迭代具有相同向量的矩阵

热门标签

归档