[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));

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容