首页 > 编程语言 > 详细

Single Number 数组中除了某个元素出现一次,其他都出现两次,找出这个元素

时间:2014-10-21 22:52:02      阅读:314      评论:0      收藏:0      [点我收藏+]

Given an array of integers, every element appears twice except for one. Find that single one.

Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

数组中除了某个元素出现一次,其他都出现两次,找出只出现一次的元素。

一个数字和自己异或 结果为 0,一个数字与0异或 结果还为它自己

比如数组:[6,6,3]  ,6和6异或为0,0与3异或为3,因此将数组中所有的元素异或一遍即为最终的结果:

 1 public class Solution {
 2     public int singleNumber(int[] A) {
 3         
 4          int n = A.length;
 5          int result = 0;
 6          
 7          for(int i = 0 ; i < n ; i ++)
 8             result ^= A[i];
 9             
10          return result;
11     }
12 }

 

Single Number 数组中除了某个元素出现一次,其他都出现两次,找出这个元素

原文:http://www.cnblogs.com/fanchangfa/p/4041606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!