【发布时间】:2016-02-22 15:48:49
【问题描述】:
我可以让它更简单吗?
for(int k=0;k<n;k++)
for(int l=(k+1);l<n;l++)
{
tot+=(max(a[k],a[l])-min(a[k],a[l]));
}
此程序当前执行时间较长,已超过时间限制。
【问题讨论】:
-
n有多大?你到底想完成什么。在不知道最终结果的情况下尝试优化此代码是没有意义的。也许你在做这件事完全错了,有一些更简单的东西可以得到你想要的。 -
它应该是 C++。
-
您可以将
max(a[k],a[l])-min(a[k],a[l])替换为abs(a[k] - a[l])。如需更多改进,我们需要了解您的实际需求 -
我试图检查数组 a[n] 的所有 2 个元素之间的差异,而且我只给出了太正的值:(max(a[k],a[l]) -min(a[k],a[l])