此题考察的就是一个排序知识,最终需要字典序最小,可以将所有整数转为字符串,同时对于多字符串的字典序,我们可以观察的一个性质,有字符串a与b,如果a+b<b+a,那么在多数组的拼接中a一定在b前面,因为如果b在a的前面,那么交换a与b可以使总体字典序更小
import java.util.*;
public class Main {
小塔有一个由n个整数组成的数组[a1,a2,...an],他想将这n个数打乱后依次拼接,使得拼接得到的字符串字典序是所有拼接字符串中最小的。直接输出这个打乱过后的数组。
第一行输入一个整数 n(1≤n≤105)代表数组中的元素数量。
第二行输入n个整数a1,a2,...,an(0≤ai≤109)代表数组元素。
在一行输出n个整数,代表重新排列后的数组。
输入
3
2 1 -1
输出
-1 1 2
说明
一共由21−1、2−11、12−1、1−12、−121和−112六种字符和,其中−112是字典序最小的
输入
3
2 1 21
输出
1 21 2
本题属于以下题库,请选择所需题库进行购买