This problem is similar to Largest Number From Given Numbers. But this is easier, as we don’t have to take care of array of numbers, which can have more than 1 digit numbers.
In order to get the biggest number by rearranging the digits, all we need is to order all digits in descending order. For example, if the input is 62832, we just need to sort them and output 86322.
defbiggest_number(number):
digits = number_to_digits(number)
digits.sort(reverse=True)
return digits_to_number(digits)
defnumber_to_digits(number):
digits=[]
while number:
digits.insert(0, number%10)
number = number/10return digits
defdigits_to_number(digits):
number =0 base =1for d in reversed(digits):
number += d * base
base *=10return number