【发布时间】:2015-10-02 16:15:16
【问题描述】:
我在 Codility 执行任务(其内容在下面的链接中)。 我不明白为什么它会给出不同的结果:
1) 80%
public int solution(int[] A)
{
long total = ((2+A.Length)*(A.Length+1)/2);
long sum=0L;
for(int i=0;i<A.Length;i++)
{
sum+=A[i];
}
return (int)(total-sum);
}
2) 100%
public int solution(int[] A)
{
long N=A.Length+1;
long total = N*(N+1)/2;
long sum=0L;
for(int i=0;i<A.Length;i++)
{
sum+=A[i];
}
return (int)(total-sum);
}
它似乎将结果视为 System.Int32 并且它是 System.Int64,我已经在 VS 中检查过它。这是一个错误,还是我错过了什么?
【问题讨论】:
-
代码示例应该在问题本身中,而不是在外部链接中。
标签: c# algorithm int long-integer