js求数组中全部数字可拼接出的最大整数示例代码
前言
最近在工作碰到一个问题,就是用javascript求数组中所有数字能拼接出的最大整数,数组的每一项为单独的拼接项,不能再拆开,例如[2,34]中2和34分别为要被拼接的数字,而不是说34还能继续拆分为3和4。
具体需求为,将[7,321,35,4]拼接为7435321。下面话不多说了,来一起看看详细的实现方法吧。
我设计的算法如下:
functioninsertSort(arr){ letres=[arr[0]]; for(leti=1,len=arr.length;i=0;j--){ if(!compareNum(res[j],temp)){ res[j+1]=res[j]; res[j]=temp; }else{ res[j+1]=temp; break; } } } returnres; } functioncompareNum(a,b){ a=""+a; b=""+b; letaLen=a.length; letbLen=b.length; letaIndex=0; letbIndex=0; while(aIndex b[bIndex]){ returntrue; }else{ returnfalse; } } letarr=[5,2,1,38]; //letarr=[5,2,1,38,52,4,5,593,8,55,555,492,493,7,9,61,66,6]; //letarr=[5,2,1,38,52,4,5,593,61,6]; functiontoInt(arr){ letnewArr=insertSort(arr); document.write(newArr); returnnewArr.join(""); } letintNum=toInt(arr); console.log(intNum);
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。