Categorías
Algorithms

LeetCode – Número faltante (Java)

Dada una matriz que contiene n números distintos tomados de 0, 1, 2, …, n, encuentre el que falta en la matriz. Por ejemplo, dado nums = [0, 1, 3] volver 2.

Solución 1 de Java – Matemáticas

public int missingNumber(int[] nums) {
    int sum=0;
    for(int i=0; i<nums.length; i++){
        sum+=nums[i];
    }
 
    int n=nums.length;
    return n*(n+1)/2-sum;
}

Solución Java 2 – Bit

public int missingNumber(int[] nums) {
 
    int miss=0;
    for(int i=0; i<nums.length; i++){
        miss ^= (i+1) ^nums[i];
    }
 
    return miss;
}

Solución Java 3 – Búsqueda binaria

public int missingNumber(int[] nums) {
   Arrays.sort(nums);
   int l=0, r=nums.length;
   while(l<r){
       int m = (l+r)/2;
       if(nums[m]>m){
           r=m;
       }else{
           l=m+1;
       }
   }
 
   return r;
}

  LeetCode - Diseño de Twitter (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 *