题目描述
有n个数字,将它们连在一起组成一个最大的数字。
样例输入
3
13 312 343
样例输出
34331213
思路
O(n^2)
这道题不能够直接排序,比如3和23,但是233比323大,所以采用两两组合再进行比较,字符串会自行按照字典序比较。
var
n,i,j,x:longint;
s:
array[
0..
233]
of string;
begin
readln(n);
for i:=
1 to n
do
begin
read(x);
str(x,s[i]);
end;
for i:=
1 to n-
1 do
for j:=i+
1 to n
do
if s[i]+s[j]<s[j]+s[i]
then
begin
s[
0]:=s[i];
s[i]:=s[j];
s[j]:=s[
0];
end;
for i:=
1 to n
do
write(s[i]);
end.
转载请注明原文地址: https://ju.6miu.com/read-661849.html