牛客网leetcdoe148道算法题解思路

不占用空间统计出数组中只有一个元素出现一次

2020-06-27  本文已影响0人  历十九喵喵喵

现在有一个整数类型的数组,数组中素只有一个元素只出现一次,其余的元素都出现两次。

注意:

你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?

思路:

其实这道基础题就是让你熟悉异或法则:

1.0异或一个数等于这个数的本身。

2.两个相同的数异或为0。

“数组中素只有一个元素只出现一次” 这个条件很重要,你利用上面的异或法则,把数组元素都进行异或之后,就可以得到这个只出现一次的数组元素了。

public class Solution {

/*

*

*

* @param A int整型一维数组

* @return int整型

*/

public int singleNumber (int[] A) {

    // write code here

    int result = 0;

    for (int v:A)

        result = result ^ v;

    return result;   

     }

}

上一篇下一篇

猜你喜欢

热点阅读