幽灵资源网 Design By www.bzswh.com
前言
最近在工作碰到一个问题,就是用javascript求数组中所有数字能拼接出的最大整数,数组的每一项为单独的拼接项,不能再拆开,例如[2,34]中2和34分别为要被拼接的数字,而不是说34还能继续拆分为3和4。
具体需求为,将[7,321,35,4]拼接为7435321。下面话不多说了,来一起看看详细的实现方法吧。
我设计的算法如下:
function insertSort(arr) { let res = [arr[0]]; for (let i = 1, len = arr.length; i < len; i++) { let temp = arr[i]; for (let j = i - 1; j >= 0; j--) { if (!compareNum(res[j],temp)) { res[j + 1] = res[j]; res[j] = temp; } else { res[j + 1] = temp; break; } } } return res; } function compareNum(a,b) { a =""+a; b = ""+b; let aLen=a.length; let bLen=b.length; let aIndex=0; let bIndex=0; while (aIndex<aLen && bIndex<bLen){ let flag=false; if (a[aIndex]==b[bIndex]){ aIndex+1<aLen && (aIndex++,flag=true); bIndex+1<bLen && (bIndex++,flag=true); }else{ break; } if (!flag){ break; } } if (a[aIndex]>b[bIndex]){ return true; }else{ return false; } } let arr=[5,2,1,38]; // let arr=[5,2,1,38,52,4,5,593,8,55,555,492,493,7,9,61,66,6]; // let arr=[5,2,1,38,52,4,5,593,61,6]; function toInt(arr) { let newArr=insertSort(arr); document.write(newArr); return newArr.join(""); } let intNum=toInt(arr); console.log(intNum);
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。