题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323.
核心代码:
<pre><code>`
func printMinNumber(data:[Int]) {
if data.count == 0 {
return
}
var arr:[String] = []
for i in 0..<data.count {
arr.append("\(data[i])")
}
arr = arr.sorted { (a, b) -> Bool in
let tempA:String = a + b
let tempB:String = b + a
return tempA < tempB
}
let result:String = arr.joined(separator: "")
print("FlyElephant--最小的数--\(result)")
}`</code></pre>
测试代码:
<pre><code>var minSort:MinSort = MinSort() var data:[Int] = [8,9,12,34,567] minSort.printMinNumber(data: data)
</code></pre>