Skip to content
登录后刷题更便捷

把数组排成最小的数

难度:
题目:

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为 321323。

思路:
  1. 求出数组的全排列,然后对每个排列结果进行比较。

  2. 利用排序算法实现,但是比较时,比较的并不是两个元素的大小,而是两个元素正序拼接和逆序拼接的大小,如果逆序拼接的结果更小,则交换两个元素的位置。排序结束后,数组的顺序则为最小数的排列组合顺序。

详细资料可以参考:

内容仅供参考,难免有不恰当的地方,如果有问题欢迎及时反馈
部分内容来自网络,如果不慎侵犯您的权益,请联系我们,以便及时删除侵权内容