对于以下代码,哪些测试用例可能会给出错误的结果?

我正在尝试为以下问题编写一个算法:给定一个包含 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 正确的测试用例。我看不到我错过了哪些案例,有人可以帮忙吗?


HUH函数
浏览 77回答 1
1回答

猛跑小猪

下面的代码是否有不同的结果:if(array==null || array.length == 0)&nbsp; System.out.println("NO SOLUTION");double s=0;for(int x: array)&nbsp; s+=x;int avg = (int)(s/array.length);if(avg == s/array.length)&nbsp; &nbsp; System.out.println(avg);else&nbsp; &nbsp; System.out.println("NO SOLUTION");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java