Categorías
Algorithms Interview

LeetCode – Comparar números de versión (Java)

Problema

Compare dos números de versión version1 y version2. Si versión1> versión2 devuelve 1, si versión1

0.1 < 1.1 < 1.2 < 13.37

Solución Java

La parte complicada del problema es manejar casos como 1.0 y 1. Deben ser iguales.

public int compareVersion(String version1, String version2) {
    String[] arr1 = version1.split(".");
    String[] arr2 = version2.split(".");
 
    int i=0;
    while(i<arr1.length || i<arr2.length){
        if(i<arr1.length && i<arr2.length){
            if(Integer.parseInt(arr1[i]) < Integer.parseInt(arr2[i])){
                return -1;
            }else if(Integer.parseInt(arr1[i]) > Integer.parseInt(arr2[i])){
                return 1;
            }
        } else if(i<arr1.length){
            if(Integer.parseInt(arr1[i]) != 0){
                return 1;
            }
        } else if(i<arr2.length){
           if(Integer.parseInt(arr2[i]) != 0){
                return -1;
            }
        }
 
        i++;
    }
 
    return 0;
}

  LeetCode - Conmutador de bombillas (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 *