javascript - 如何组合数字数组,使结果数字在 javaScript 中尽可能大

标签 javascript arrays

我有一个正整数数组作为 javascript 中的输入。输出应该是由输入中的组合数组元素创建的最大可能整数。示例:

  1. 输入:[80,35,2,9,45,8] 输出:988045352
  2. 输入:[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/

相关文章:

javascript - 有没有更好的方法使用 jQuery 附加 HTML

javascript - Angularjs 将新数据添加到数组

javascript - 向 promise 结果添加额外数据

javascript - 如何一起使用socket.io和express?

php - 从多维数组中获取所有值

java - Java 中的 Arrays.asList 排序

c - 递增结果作为 C 中的整数数组数字

c - 关于C指针的问题

javascript - 用 Javascript 计算假期

javascript - AngularUI Datepicker 禁用超出范围的日期