我在Codility表演了一段時間(它的內容在下面的鏈接中)。 我不明白爲什麼它給了不同的結果:Int而不是Long,bug?
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)
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中檢查過它。這是一個錯誤,還是我錯過了什麼?
代碼示例預計將在問題本身,而不是在外部鏈接。 –