título
pensamiento
Esta pregunta puede ser usada operación XOR!
Shajiao XOR? (Fuente 2)
operación XOR tiene las siguientes características
- Cualquier número 0 y el O exclusivo de sí mismo: a ^ 0 = a
- Cualquier número con su resultado XOR es 0: a ^ a = 0
- XOR conmutativa y asociativa: A B A = (A A) B = B
Esta pregunta, un número aparece sólo una vez, el resto se han producido dos veces, las características descritas anteriormente, se pueden resolver de manera eficiente.
solución del problema
C ++:
class Solution {
public:
int singleNumber(vector<int>& nums) {
int ans=0;
for (auto i :nums)
{
ans^=i;
}
return ans;
}
};
Pitón:
from functools import *
class Solution(object):
def singleNumber(self, nums):
return reduce(lambda x,y:x^y,nums)