异或特性

异或的两个特性

  1. 两个相等的数的异或为0;
  2. 任何一个数和0异或之后,还是这个数不变

应用

在 1 到 n 的数字中,有且只有唯一的一个数字 m 重复出现偶数次,其他数字都只出现一次,请用异或把这个数字找出来。

原始数据: 1,2...m,m,...n (是否有序对此题不重要)
所有数字: 1,2,...m,...n
因为 x^x = 0
令a = 12...m...^n
b = 12...mm...n
则有: a^b = (12...m...n)(12...m...n)m = 0^m = m

posted @ 2019-02-15 01:35  yihailin  阅读(971)  评论(0编辑  收藏  举报