NOTE
最大数
重新排列非负整数,使其拼接成最大的整数。
这是历史学习笔记,可能存在过时或不完整的理解。
1. 题目描述
给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数
2. 思路
3. 实现
func largestNumber(nums []int) string {
strs := make([]string, 0, len(nums))
for _, num := range nums {
strs = append(strs, strconv.Itoa(num))
}
sort.Slice(strs, func(i, j int) bool {
a := strs[i] + strs[j]
b := strs[j] + strs[i]
return a > b
})
if strs[0] == "0" {return "0"}
var res string
for _, str := range strs {
res += str
}
return res
}
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看