Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github
Dados dos números enteros a
y b
, devolver la suma de los dos números enteros sin utilizar los operadores +
y -
.
Ejemplo 1:
Aporte: a = 1, b = 2 Producción: 3
Ejemplo 2:
Aporte: a = 2, b = 3 Producción: 5
Restricciones:
-1000 <= a, b <= 1000
Pitón
Complejidad temporal de #: O(1) Complejidad espacial de #: clase O(1) Solución: def getSum(self, a: int, b: int) -> int: x, y = abs(a), abs(b) # asegúrese de que abs(a) >= abs(b) if x < y: return self.getSum(b, a) # abs(a) >= abs(b) --> # a determina el signo signo = 1 si a > 0 else -1 si a * b >= 0: # suma de dos enteros positivos x + y # donde x > y mientras y: respuesta = x ^ y llevar = (x & y) << 1 x, y = respuesta , llevar otra cosa: # diferencia de dos enteros x - y # donde x > y mientras y: respuesta = x ^ y pedir prestado = ((~x) & y) << 1 x, y = responder, pedir prestado devolver x * firmar a = 1 b = 2 print(Solución().getSum(a, b)) velocidades = [0, 0.5, 1, 1.5] movimiento = velocidades[1:3] print(movimiento)