gpt4 book ai didi

c# - 两个求和算法变体 - 优化

转载 作者:太空狗 更新时间:2023-10-30 01:34:02 25 4
gpt4 key购买 nike

<分区>

我需要计算 [-10000,10000](含)区间内目标值 t 的数量,使得输入文件中存在满足 x+y=t 的不同数字 x,y。我有有效的代码,想对其进行优化以使其运行得更快。

此外,我们只会计算总和 t 一次。如果有两个 x,y 对加起来为 55,则结果只会递增一次。输入数字可以是正整数也可以是负整数。

public static int Calculate(int start, int finish, HashSet<long> numbers)
{
int result = 0;
for (int sum = start; sum <= finish; sum++)
{
foreach (long n in numbers)
{
if (numbers.Contains(sum - n) && n != (sum - n))
{
result++;
break;
}
}
}

return result;
}

这是一个作业,我以满分的成绩完成了它。我的代码需要大约 30 分钟才能针对 100 万个数字的数据集运行。我试图想出一种方法来优化我的代码,但无法找到正确的想法,希望得到一些帮助。

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