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.
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