Given an array of non-negative numbers(of Integer Range), they are needed to be arranged in some order such that it gives the max number. For example given array is A[1, 34, 3, 98, 9, 76, 45, 4, 12, 121]. if we arrange these numbers in the following order, A[9, 98, 76, 45, 4, 34, 3, 12, 121, 1], then by joining them we get “99876454343121211” as largest number.
Input : [1, 34, 3, 98, 9, 76, 45, 4, 12, 121] Output : 99876454343121211 Input : [12, 121] Output : 12121
In SET 1, we have discussed an approach to do same. In this set, we will discuss another logic.
1) Find number of digits in the largest number. Let number of digits be n.
2) Create extended version of all numbers. In extended version, we have n+1 digits formed by concatenating the number of with itself and truncating extra digits.
3) Sort original numbers according to their extended values.
4) Concatenating the sorted numbers produces th required result.
This article is contributed by Kondiparthi Shanmukha Sarath. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Arrange given numbers to form the biggest number | Set 1
- Arrange numbers to form a valid sequence
- Arrange the numbers in the Array as per given inequalities
- Arrange the array such that upon performing given operations an increasing order is obtained
- Biggest integer which has maximum digit sum in range from 1 to n
- Arrange array elements such that last digit of an element is equal to first digit of the next element
- Arrange N elements in circular fashion such that all elements are strictly less than sum of adjacent elements
- Reduce a given number to form a key by the given operations
- Form smallest number using indices of numbers chosen from Array with sum less than S
- Form minimum number from given sequence
- Convert an array to reduced form | Set 2 (Using vector of pairs)
- Count of subsequences of length 4 in form (x, x, x+1, x+1) | Set 2
- Rearrange an array in maximum minimum form | Set 2 (O(1) extra space)
- Rearrange an array in maximum minimum form | Set 1
- Count numbers from a given range that contains a given number as the suffix
- Print elements that can be added to form a given sum
- Ways to form an array having integers in given range such that total sum is divisible by 2
- Print a given matrix in spiral form using direction tracking method
- Count of elements which form a loop in an Array according to given constraints
- Minimum count of increment of K size subarrays required to form a given Array