gpt4 book ai didi

c++ - 将数组中的所有 float 元素添加到另一个数组中的每个 float 的优化方法

转载 作者:行者123 更新时间:2023-11-30 01:08:05 26 4
gpt4 key购买 nike

到目前为止我想出的代码是

void sumValues()
{
float sum = 0;
int n = NUM_ELEMENTS;
for (int i = 0; i < n; i++)
{
float x = dataX[i];
for (int j = 0; j < n; j++)
{
float y = dataY[j];
float val = x + y;
sum += val;
}
}
}

我需要知道的是,如何优化这段代码?

当执行这种逻辑时,您必须遍历两个列表的所有元素,因此至少必须是 O(n^2) (AFAIK)。如何改进?

最佳答案

不清楚您要做什么:标题表明您想要获取数组 A 中的所有 int 值,计算它们的总和,并将其添加到数组 B 中的每个元素。这样做的复杂性是O(n).

您的代码不会这样做:对于所有 (x,y) 对,其中 x 在 A 中,y 在 B 中,它计算 x+y 并将其加到总和中。您实际上可以注意到最终总和将是 n*(Sum(A) + Sum(B)),您也可以在 O(n) 中计算它。但我怀疑那是你想要做的......

关于c++ - 将数组中的所有 float 元素添加到另一个数组中的每个 float 的优化方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43249903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com