会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员,或
购买
该题目所属题库
,可解锁完整内容。
思路
此题考察的就是一个排序知识,最终需要字典序最小,可以将所有整数转为字符串,同时对于多字符串的字典序,我们可以观察的一个性质,有字符串a与b,如果a+b<b+a,那么在多数组的拼接中a一定在b前面,因为如果b在a的前面,那么交换a与b可以使总体字典序更小
代码
java
import java.util.*;
public class Main {
P2004.2024.9.6-QNE-第1题-小塔打乱数组
题目内容
小塔有一个由n个整数组成的数组[a1,a2,...an],他想将这n个数打乱后依次拼接,使得拼接得到的字符串字典序是所有拼接字符串中最小的。直接输出这个打乱过后的数组。
输入描述
第一行输入一个整数 n(1≤n≤105)代表数组中的元素数量。
第二行输入n个整数a1,a2,...,an(0≤ai≤109)代表数组元素。
输出描述
在一行输出n个整数,代表重新排列后的数组。
样例1
输入
3
2 1 -1
输出
-1 1 2
说明
一共由21−1、2−11、12−1、1−12、−121和−112六种字符和,其中−112是字典序最小的
样例2
输入
3
2 1 21
输出
1 21 2