题目描述
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组,则打印出这三个数字能排成的最小数字为321323。
解题思路
先将数组转换成字符串数组,然后对字符串数组按照规则排序,最后将排好序的字符串数组拼接出来。
关键就是制定排序规则:
若ab > ba 则 a > b
若ab
若ab = ba 则 a = b
解释说明:
a = 21
b = 2
因为 212
所以我们通过对ab和ba比较大小,来判断a在前或者b在前的。
参考代码
Python
注:这里的cmp是python2中的语法
领取专属 10元无门槛券
私享最新 技术干货