Largest Number
原题链接Largest Number
给定一个数值数组,将数组中的数值按照一定顺序拼接在一起,使得拼接的结果值最大
思路:
- 将原数值数组转为字符串数组,方便拼接和比较
- 将字符串数组排序
- 从头到尾拼接结果
难点在如何对字符串数组排序,为了使结果最大,可以得知需要将数字打的排到前面,以图片为例,
- 9的数字最大,所以排在第一位
- 随后是5,排在第二位
- 对于3,30,34而言,通过比较可以看到34330这样可以得到最大值
对于第三步,如何比较高位相等的一些数字呢(如3,30,34),如果以30和34为例,排序的结果无非是
- 30在34的前面
- 34在30的前面
这两种,所以就把这两种结果比较即可,即判断3034和3430的大小关系从而确定30和34的先后位置
代码如下
class Solution {