Java 整型数组只有一个整数是只出现一次的,其余都出现两次

package writtenExamination;

/**
 * @author lindaZ
 * @date 2015年10月22日
 * @todo 找出数组中仅出现一次的数,其余数字出现两次
 */
public class Once {
    public static void main(String[] args) {
        int[] nums = {1,2,3,4,4,3,2,1,5,7,5};
        int result = nums[0];
        System.out.println("结果为:"+new Once().find(nums, result));
    }
    int find(int[] nums,int result){
        for (int i=0;i<nums.length;i++){
            result = nums[i];
            for (int j=0;j<nums.length;j++){
                if (j!=i){
                    result ^= nums[j];
                }
            }
            if (result == 1){
                result = i;
                break;
            }
        }
        return result;
    }
}

 如果该数组A中只有一个数字出现了一次,其他的数字都出现了两次,那么求出该数字就很简单,其值就是 A[0] ^ A[1] ^ … ^ A[n-1]

posted @ 2015-10-22 16:03  lindaZ  阅读(576)  评论(0编辑  收藏  举报