多语言展示
当前在线:1225今日阅读:39今日分享:10

Java如何将非负整数数组重新排列组合为最大数

题目:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数,注意,因为可能会是一个非常大的数字,所以,返回最大数字串即可。思路:本质上就是实现一个自定义的排序算法,排序后,将数组数字连接起来返回即可。注意(特殊情况):对于全部是0的数组,需要返回 '0', 比如数组 [0,0] 需要返回 '0' 而不是 '00'。
工具/原料
1

Eclipse

2

JDK1.8

方法/步骤
1

实现自定义排序算法的核心部分:比较两个数的大小图示,遵照题目的意思,只需将两个数字分别前后连接为串,然后比较大小即可,注意,因为最后要将数组连接为数字返回,这里使用了倒序排列。

2

实现快速排序图示,通过快速排序算法进行排序,中间比较两个数字的大小部分使用上述定义的方法。

3

实现主程序部分图示,主程序部分调用快速排序算法对参数数组进行排序,然后将所有数字拼接为一个数字串返回,注意,对于全0数组的特殊处理。

4

编写测试方法图示,主方法中创建多个数组,分别调用方法构建最大数字串,并打印到控制台。

5

运行测试方法图示,运行主方法,观察控制台的输出,符合预期

6

平台提交算法图示,提交算法,测试通过,时间复杂度和空间复杂度的表现都比较优秀。

注意事项

全0数组需要返回'0',而不是多个0的连接串

推荐信息