陣列中只出現一次的數字
題目描述
一個整型陣列裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。
題目連結: 陣列中只出現一次的數字
程式碼
/**
* 標題:陣列中只出現一次的數字
* 題目描述
* 一個整型陣列裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。
* 題目連結:
* https://www.nowcoder.com/practice/e02fdb54d7524710a7d664d082bb7811?tpId=13&&tqId=11193&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
*/
public class Jz40 {
/**
* 位運算
*
* @param array
* @param num1
* @param num2
*/
public void FindNumsAppearOnce(int[] array, int num1[], int num2[]) {
int diff = 0;
for (int num : array) {
diff ^= num;
}
diff &= -diff;
for (int num : array) {
if ((num & diff) == 0) {
num1[0] ^= num;
} else {
num2[0] ^= num;
}
}
}
public static void main(String[] args) {
}
}
【每日寄語】 永遠面朝陽光,陰影就會被甩到後面。