题目:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数,注意,因为可能会鋈守踬痊是一个非常大的数字,所以,返回最大数字串即可。思路:本质上就是实现一个自定义的排序算法,排序后,将数组数字连接充全煲镆起来返回即可。注意(特殊情况):对于全部是0的数组,需要返回"0",比如数组[0,0]需要返回"0"而不是"00"。
工具/原料
Eclipse
JDK1.8
方法/步骤
1、实现自定义排序算法的核心部分:比较两个数的大小图示,遵照题目的海潍吨燹意思,只需将两个数字分别前后连接为串,然后比较大小即可,注意,因为最后要将数组连接为数字返回,这里使用了倒序排列。
2、实现快速排序图示,通过快速排序算法进行排序,中间比较两个数字的大小部分使用上述定义的方法。
3、实现主程序部分图示,主程序部分调用快速排序算法对参数数组进行排序,然后将所有数字拼接为一个数字串返回,注意,对于全0数组的特殊处理。
4、编写测试方法图示,主方法中创建多个数组,分别调用方法构建最大数字串,并打印到控制台。
5、运行测试方法图示,运行主方法,观察控制台的输出,符合预期
6、平台提交算法图示,提交算法,测试通过,时间复杂度和空间复杂度的表现都比较优秀。