Ad

Para que se devuelva el numero maximo formado de los numeros dados:

Hay que convertir el numero es un cadena de strings y juntarlos en un array, ordenarlos de menor a mayor y luego invertir el orden, devolver el array ordenado de mayor a menor pasado a formato Long.

Code
Diff
  • import java.util.Arrays;
    
    class MaxNumber {
        public static long print(long number) {
            String stringDeNumber= Long.toString(number); //convierto la variable number de Long a String
            char[] arrayNumeros = stringDeNumber.toCharArray();  // creo un array a partir del string number
            Arrays.sort(arrayNumeros); //los ordeno de menos a mayor 
            StringBuilder numerosOrdenados = new StringBuilder(new String(arrayNumeros)).reverse(); // creo una variable tipo StringBuilder para cambiar el orden y que se acomoden de mayor a menor
            return Long.parseLong(numerosOrdenados.toString()); // paso la cadena ordenada de nuevo a Long
        }
    }
    
    //La notacion Big-O es: O(n log n) Tiempo lineal-logarítmico. Ya que usa ordenamientos y reordenamientos de strings 
    • import java.util.Arrays;
    • public class MaxNumber {
    • class MaxNumber {
    • public static long print(long number) {
    • return number
    • String stringDeNumber= Long.toString(number); //convierto la variable number de Long a String
    • char[] arrayNumeros = stringDeNumber.toCharArray(); // creo un array a partir del string number
    • Arrays.sort(arrayNumeros); //los ordeno de menos a mayor
    • StringBuilder numerosOrdenados = new StringBuilder(new String(arrayNumeros)).reverse(); // creo una variable tipo StringBuilder para cambiar el orden y que se acomoden de mayor a menor
    • return Long.parseLong(numerosOrdenados.toString()); // paso la cadena ordenada de nuevo a Long
    • }
    • }
    • }
    • //La notacion Big-O es: O(n log n) Tiempo lineal-logarítmico. Ya que usa ordenamientos y reordenamientos de strings