Categorías
Algorithms

LeetCode – Suma de dos enteros (Java)

Calcula la suma de dos números enteros ayb, pero no puedes usar el operador + y -.

Ejemplo:
Dado a = 1 y b = 2, devuelve 3.

Solución Java

Dados dos números ayb, a & b devuelve el número formado por los bits ‘1’ en ay b. Cuando se deja desplazado 1 bit, es el acarreo.

Por ejemplo, dado a = 101 y b = 111 (en binario), a & b = 101. a & b << 1 = 1010.

a ^ b es el número formado por diferentes bits de ay b. a y b = 10.

public int getSum(int a, int b) {
 
   while(b!=0){
       int c = a&b;
       a=a^b;
       b=c<<1;
   }
 
   return a;
}

  LeetCode - Suma máxima de rectángulo no mayor que K (Java)

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *