package com.interview.algorithms.array;
import java.util.Arrays;
import java.util.Comparator;
/**
* Created with IntelliJ IDEA.
* User: stefanie
* Date: 8/4/14
* Time: 3:20 PM
*
* Given an int array, combine all the integer to a int, such as {23, 125} -> 12523.
* Write code to get the smallest combined number.
*
* using string to determine: if ab < ba then a < b;
*/
public class C4_42_SmallestCombineNumber {
public static String find(int[] numbers){
Integer aux[] = new Integer[numbers.length];
for (int i=0; i<numbers.length; i++) aux[i] = numbers[i];
Arrays.sort(aux, new Comparator<Integer>(){
public int compare(Integer i1, Integer i2) {
return ("" + i1 + i2).compareTo("" + i2 + i1);
}
});
StringBuffer sb = new StringBuffer();
for (int i=0; i<aux.length; i++) {
sb.append(aux[i]);
}
return sb.toString();
}
}