题目:输入一个正整数数组,把数组中所有的数拼接成一个整数,输出最小的整数。
思路:设计一种新的比较规则来排序一个数组,证明这个比较规则有效。
(1)两个数m,n,如果mn<nm,则说明m << n。证明按这个顺序排序得到的数是最小的数。
即如如果x1 << x2 << x3 << x4,则x1x2x3x4是最小的数。
证明:假如任意交换其中的2个数x2和x4,x1x2x3x4x5<<x1x2x4x3x5<<x1x4x2x3x5<<x1x4x3x2x5.
(2)为了方便排序,证明了这个排序方法还有一个传递性,即若a<<b,b<<c,则a<<c。
(3)为了避免大数的溢出问题,可以采用字符串的方法进行比较。
原文:http://www.cnblogs.com/wy1290939507/p/4720848.html