/** * 输入一个正整数数组,把数组里所有数字拼接起来排成一个数, * 打印能拼接出的所有数字中最小的一个 * 。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 */
这题可以使用全排列的方法再一一对比得出最小的数,不过这种方法的复杂度很大。
我们如果可以知道每每两数的排序规则,就可以让这个数组从小到大进行排序进而组合成最小的数,
使用compareTo的方式比较(下图),可以看到字符串比较是根据每个字符的ASII值进行比较,如果对这个数组全部数进行比较的话,那么得出的数组的顺序组合就是最小的数
三种方法:
1.实现comparator接口,重写compare方法:
2.使用快排的方法对字符串进行排序:
3.内置函数