Find Largest number from set of given numbers ?

Find Largest number from set of given numbers ?

  • Find number of digits in the largest number. Let us assume number of digits be n.
  • Create extended version of all numbers. In extended version, we have n+1 digit formed by concatenating the number of with itself and truncating extra digits.
  • Sorting the value from original numbers according to their extended values.
  • Concatenating to the sorted numbers produce the required result.

Sample Code in C++

// Given an array of numbers, program to arrange the numbers to form the 
// largest number 
#include <iostream> 
#include <string> 
#include <vector> 
#include <algorithm> 
using namespace std; 
// A comparison function which is used by sort() in printLargest() 
int myCompare(string X, string Y) 
    // first append Y at the end of X 
    string XY = X.append(Y); 
    // then append X at the end of Y 
    string YX = Y.append(X); 
    // Now see which of the two formed numbers is greater 
    return > 0 ? 1: 0; 
// The main function that prints the arrangement with the largest value. 
// The function accepts a vector of strings 
void printLargest(vector<string> arr) 
    sort(arr.begin(), arr.end(), myCompare); 
    for (int i=0; i < arr.size() ; i++ ) 
        cout << arr[i]; 
// driver program to test above functions 
int main() 
    vector<string> arr; 
    //output should be 5545727825 
   return 0; 



Related Searches to Find Largest number from set of given numbers ?