Bit Series Operación 2-leetcode136 (c ++ / Python)

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)

referencia

1. https://leetcode-cn.com/problems/single-number/

2. https://mp.weixin.qq.com/s/YasCeiVzUlS-pMBa0nUpsg

Supongo que te gusta

Origin www.cnblogs.com/depth-perception/p/12600404.html
Recomendado
Clasificación