美文网首页
[LeetCode OJ]-SingleNumber

[LeetCode OJ]-SingleNumber

作者: 其中一个cc | 来源:发表于2017-09-04 16:41 被阅读0次

题目: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));

}

}

相关文章

网友评论

      本文标题:[LeetCode OJ]-SingleNumber

      本文链接:https://www.haomeiwen.com/subject/qrmejxtx.html