和数字有关 就要想起位运算
数字之间找不同
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型一维数组 * @return int整型一维数组 */ public int[] FindNumsAppearOnce (int[] array) { if(array.length==2) return array; boolean flag = true; int res = 0; for(int num:array){ res = res^num; } int m=1; while((m & res) == 0) m = m<<1; int x=0,y=0; for(int num:array){ if((num&m) != 0) x = x^num; else y = y^num; } return new int[]{Math.min(x,y),Math.max(x,y)}; } }