179. 最大数
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
示例 1:
输入: [10,2]
输出: 210
示例 2:
输入: [3,30,34,5,9]
输出: 9534330
说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。
Code
import ("sort""strconv"
)type ans []stringfunc (self ans) Len() int {return len(self)
}func (self ans) Swap(i, j int) {self[i], self[j] = self[j], self[i]
}func (self ans) Less(i, j int) bool {a, _ := strconv.Atoi(self[i] + self[j])b, _ := strconv.Atoi(self[j] + self[i])return a > b
}func largestNumber(nums []int) string {var a ansa = make([]string, len(nums))for i, v := range nums {a[i] = strconv.Itoa(v)}sort.Sort(a)res := ""if a[0] == "0" {return "0"}for _, v := range a {res += v}return res
}