日期:2014-05-20  浏览次数:20663 次

一道笔试题。一个数组 a[99] ,里面有1-100中的99个不重复的整数,让你用最多一次循环找出没有的那个.
求解

------解决方案--------------------
先算出所有已知的100个数的总和A,再把数组中所有的数相加得到一个总和B,A-B的结果就是那个没有的。
------解决方案--------------------
很简单啊。
Java code

        int[] ary = new int[100];
        int sum1 = 0;
        int sum2 = 0;
        for (int i = 0; i < ary.length; i++) {
            sum1 += i + 1;
            sum2 += ary[i];
        }
        int rs = sum1 - sum2;

------解决方案--------------------
Java code
        int[] ary = new int[99];
        //给ary的每一个元素赋值......
        int x = 5050; //写成int sum=(100+1)*100/2;也行.

        for (int i = 0; i < ary.length; i++) {
            x-=ary[i];
        }
        System.out.println("那个数是:"+x);