我正在尝试为以下问题编写一个算法:给定一个包含 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
提交
取消