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]