我有一个正整数数组作为 javascript 中的输入。输出应该是由输入中的组合数组元素创建的最大可能整数。示例:
- 输入:
[80,35,2,9,45,8]
输出:988045352
- 输入:
[509,7,49,21,527,2,742]
输出:774252750949221
我想我知道可以使用但无法实现的逻辑......
我猜想两个彼此相邻的数组元素应该在两个方向上连接起来,并且要比较这个值,哪个更大,然后使用这个逻辑对所有数组元素进行排序。但是,我不能在 javaScript 中执行此操作。
谢谢。
最佳答案
这样做:
a = [80,35,2,9,45,8];
result = a.sort((x,y)=> ""+x+y < ""+y+x);
结果:
[ 9, 8, 80, 45, 35, 2 ]
第二个结果是:
[ 7, 742, 527, 509, 49, 2, 21 ]
如果您想要单个数字,请在排序后使用 .join("")
。
关于javascript - 如何组合数字数组,使结果数字在 javaScript 中尽可能大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42260093/