数组中数字都两两相同,只有一个不同,找出该数字

public class Demo {
    public static void main(String[] args) {
      int [] arr={1,1,2,2,3,4,4};
      int result=0;
      for(int i:arr)
        result ^=i;
        System.out.println("该数字为"+result);
        
   }
}

在这里插入图片描述
本题运用异或法来解决,首先将result=0是因为当result=0后无论遇到哪个数都会变成那个数,重复遇到两个相同的数又会变成原来的数

在这里插入图片描述
异或运算规则:在这里插入图片描述
因为最初的result为0,经过一系列的异或运算后result就为那个单个的数


版权声明:本文为zqh529原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。