179. 最大数

剑指 Offer 45. 把数组排成最小的数

给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。
注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。
和剑指45一样——数组中最小的数。

示例 1:
输入**:**``nums = [10,2]
输出:"210"

  1. //179代码
  2. func largestNumber(nums []int) string {
  3. n := len(nums)
  4. strs := make([]string,n)
  5. for i, _ := range nums {
  6. strs[i] = fmt.Sprintf("%d", nums[i])
  7. }
  8. sort.Slice(strs, func(i, j int) bool {
  9. return strs[i] + strs[j] > strs[j] + strs[i] //最小数变为最大数,这里变一下
  10. })
  11. if strs[0][0] == '0' {
  12. return "0"
  13. }
  14. return strings.Join(strs,"")
  15. }