面试题45. 把数组排成最小的数 Golang

我们这一届也即将面临着找工作的难题了,为了提升编程功力,我经常上leetcode和牛客网刷题。

因为牛客网更偏向实战,所以我更喜欢在牛客上刷。可是最近随着刷的题越来越新,遇到了很多没有题解的题目。这种题如果琢磨出来了写一篇题解收赞挺有成就感的,但是做不出来的时候又没有题解可以参考,这个时候就非常痛苦。这种状态持续时间长了让我自我怀疑,变得不自信,对刷题产生畏惧。

认真反省之后发现这就是近几天学习状态越来越差的罪魁祸首。对于大多数普通人来讲,秋招是一场持久战,保持一个健康的心态至关重要。因此学习中的正反馈真的很重要,宁愿刷点简单的题也不要一味求难。

今天整了几道leetcode找点信心,记录一下。

字符串本身是有字典序的,因此可以将int转为string再排序。

面试题45. 把数组排成最小的数

func minNumber(nums []int) string {
	var strNums []string
	for _,v:=range nums{
		strNums= append(strNums, strconv.Itoa(v))
	}
	sort.Slice(strNums,func(i,j int)bool{
		return strNums[i]+strNums[j]<strNums[j]+strNums[i]
	})
	ans:=""
	for _,v:=range strNums{
		ans+=v
	}
	return ans
}

你可能感兴趣的:(算法)