【问题标题】:Making a shorted string from array of sub-string in javascript?从javascript中的子字符串数组制作一个短字符串?
【发布时间】:2019-07-17 04:41:32
【问题描述】:

我正在尝试解决给定数组为arr=["dd","dda","ddb"]的黑客等级问题

根据问题,我必须按字母顺序制作一个字符串 根据黑客等级,正确的操作是“ddaddbdd”

对于某些测试用例,排序和加入工作,但大多数测试用例没有通过> 有什么建议可以解决这个问题吗?

我尝试对字符串进行排序,然后像下面这样加入它们,但没有得到输出。

arr=arr.sort((a,b)=>a.localeCompare(b));

str=arr.join("")

【问题讨论】:

    标签: javascript node.js algorithm lexicographic


    【解决方案1】:

    您需要先对数组中的单个元素进行排序,然后再加入

    let arr=["dd","dda","ddb"]
    
    let final = arr.map(str=> str.split('').sort().join('')).join('')
    
    console.log(final)

    【讨论】:

      【解决方案2】:

      为您提供一种“旧即金”的方法:

      1. 从数组中获取每个字符串项

      2. 将其转换为 char 数组

      3. 对字符数组进行排序

      4. 放回字符串数组中

      函数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"]));
      

      【讨论】:

        猜你喜欢
        • 2017-09-25
        • 1970-01-01
        • 2015-09-22
        • 1970-01-01
        • 1970-01-01
        • 2018-05-25
        • 2013-03-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多