欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。

发布时间:2023/12/20 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。

/*** This algorithm offers guaranteed n*log(n) performance.* * @param array* @return*/ public static String getLargestNumByArranged(Integer[] array) {Arrays.sort(array, new Comparator<Object>() {/**** 默认是从小到大排序 if the result > 0 then swap*/public int compare(Object o1, Object o2) {String left = o1.toString();String right = o2.toString();// 按字典顺序比较 if the result > 0 then * -1return (left + right).compareTo(right + left) * -1;// return (right + left).compareTo(left + right);}});StringBuffer sb = new StringBuffer();for (Integer integer : array) {sb.append(integer.toString());}return sb.toString(); }public static void main(String[] args) {Integer[] VALUES = { 50, 2, 100, 99, 5, 7, 51, 50, 11 };System.out.println(getLargestNumByArranged(VALUES)); }

本文参考:
http://www.genshuixue.com/i-cxy/p/8018152

总结

以上是生活随笔为你收集整理的编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。