我正在嘗試為以下問題編寫一個算法:給定一個包含 n 個整數的數組(a1,a2,...,an),找到特殊數字 k,這樣如果從 k 中減去數組中的所有整數,則所有差值之和為零,即(k-a1)+...+(k-an)=0。如果不存在這樣的數字,則打印“NO SOLUTION”這是我想出的算法 double k=(double) array[0]; for (int i = 1; i <n ; i++) { k+=(double) array[i]; } if ( (k/n) % 1.0 == 0) System.out.println((int)k/n); else System.out.println("NO SOLUTION");n 和數組的值由用戶輸入。在 hackerrank 上提交代碼后,我得到了 8/10 正確的測試用例。我看不到我錯過了哪些案例,有人可以幫忙嗎?
1 回答

猛跑小豬
TA貢獻1858條經驗 獲得超8個贊
下面的代碼是否有不同的結果:
if(array==null || array.length == 0)
System.out.println("NO SOLUTION");
double s=0;
for(int x: array)
s+=x;
int avg = (int)(s/array.length);
if(avg == s/array.length)
System.out.println(avg);
else
System.out.println("NO SOLUTION");
添加回答
舉報
0/150
提交
取消