[LeetCode OJ]-SingleNumber

題目:find the single number from a array which has two pairs numbers and a single number

思路:使用“異或”思想。

由于0^N = N

? ? ? ?N^N = 0

那么N1^N1^N2^N2^N3^N3^N4^N4^N

= (N1^N1)^(N2^N2)^(N3^N3)^(N4^N4)^N

=0^0^0^0^N

=N


public class SingleNumber {

//find the single number from a array which has two pairs numbers and a single number

//using ^.

public static int singleNumber(int[] nums) {

int r = nums[0];

for(int i = 1; i < nums.length; i++)

r ^= nums[i];

return r;

}

public static void main(String args[]){

int []array = {1,2,3,4,2,3,4};

System.out.println(singleNumber(array));

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容