我正在尝试解决给定数组为arr=["dd","dda","ddb"]
的黑客排名问题
根据问题,我必须按字母顺序制作一个字符串 根据黑客的排名,正确的o / p是“ ddaddbdd”
对于某些测试用例,排序和连接工作没有通过,但是大多数测试用例都没有通过>是否有解决此问题的建议?
我尝试对字符串进行排序,然后按如下所示将它们加入,但没有得到输出。
arr=arr.sort((a,b)=>a.localeCompare(b));
str=arr.join("")
答案 0 :(得分:1)
您需要先对数组内的单个元素进行排序,然后再加入
let arr=["dd","dda","ddb"]
let final = arr.map(str=> str.split('').sort().join('')).join('')
console.log(final)
答案 1 :(得分:0)
一种“古老就是黄金”的方法:
从数组中获取每个字符串项
将其转换为char数组
对char数组进行排序
function getInSort(a){
for(var i=0; i<a.length; i++){
let temp = a[i].split('');
temp.sort();
a[i] = temp.join('');
}
return a.join('');
}
console.log(getInSort(["dd","dda","ddb"]));