LeetCode 剑指 Offer 45. 把数组排成最小的数
题目描述
给定一个非负整数数组
nums
,我们想将它们排成一个数值最小的整数。请注意,数组中的数字可以是多位数的。
示例 1: 输入:
nums = [10, 2]
输出:102
示例 2: 输入:
nums = [3, 30, 34, 5, 9]
输出:3033459
提示:
0 <= nums.length <= 100
0 <= nums[i] <= 10^9
思路分析
思路描述
参考代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func minNumber(nums []int) string {
strs := make([]string, len(nums))
for i, num := range nums {
strs[i] = strconv.Itoa(num)
}
sort.Slice(strs, func(i, j int) bool {
return strings.Compare(strs[i]+strs[j], strs[j]+strs[i]) < 0
})
res := strings.Join(strs, "")
if res[0] == '0' {
return "0"
}
return res
}
1
write your code here
1
write your code here
相似题目
CC BY-NC-SA 4.0
许可协议,转载请注明出处!
本博客所有文章除特别声明外,均采用