#1530. 数字拼图游戏

数字拼图游戏

故事背景

在一个数字拼图游戏中,玩家需要将给定的数字卡片重新排列,组成一个尽可能大的整数。这个游戏考验玩家的数字敏感度和策略思维。作为游戏的开发者,你需要设计一个算法,能够自动计算出给定数字卡片可以组成的最大整数。

题目描述

给定一组非负整数,你需要重新排列它们的顺序,使得它们组成的整数最大。

例如,给定数字卡片 [10, 2],可以组成的最大整数是 210;给定 [3, 30, 34, 5, 9],可以组成的最大整数是 9534330。

输入格式

第一行输入一个整数 n ( 1n10001 \leq n \leq 1000 ),表示数字卡片的数量。

第二行输入 n 个非负整数,表示数字卡片上的数字。

输出格式

输出一个字符串,表示可以组成的最大整数。

样例输入 1

2
10 2

样例输出 1

210

样例输入 2

5
3 30 34 5 9

样例输出 2

9534330

样例输入 3

3
0 0 0

样例输出 3

0

提示

  • 这是一个经典的贪心算法问题
  • 注意排序规则的设计,不能简单地按数字大小排序
  • 考虑如何比较两个数字的顺序,使得它们组成的数更大
  • 注意处理全零的情况,避免输出多个零