欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

只出现一次的数

程序员文章站 2024-03-16 20:29:22
...

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

分析:想了很久也没想到,最后百度是通过亦或的方法,原理因为只有一个元素出现一次,其他元素出现了两个,元素与元素本身亦或为零,与零亦或为它本身。

//找出数组中只存在一次的数
     public static int SingleNumber(int[] nums){
         int num = 0;
         for(int i=0;i<nums.length;i++){
             num ^=nums[i];
         }
         return num;
     }

扩展亦或知识点
a^a=0; 与它本身亦或为零;
a^0=a; 与零亦或为它本身;

关于a,b交换变量
a=a^b;
b=a^b;
a=a^b;

相关标签: 只出现一次的数