美文网首页
937 Reorder Data in Log Files

937 Reorder Data in Log Files

作者: jluemmmm | 来源:发表于2020-10-24 18:40 被阅读0次

    重新排列日志文件

    • 所有 字母日志 都排在 数字日志 之前。
    • 字母日志 在内容不同时,忽略标识符后,按内容字母顺序排序;在内容相同时,按标识符排序;
    • 数字日志 应该按原来的顺序排列。
    • 返回日志的最终顺序。

    使用 join / split / localeCompare 处理

    • Runtime: 92 ms, faster than 47.38%
    • Memory Usage: 45.7 MB, less than 7.91%
    /**
     * @param {string[]} logs
     * @return {string[]}
     */
    var reorderLogFiles = function(logs) {
      let digits = []
      let letters = []
      digits = logs.filter(item => {
        return item.split(' ')[1] >= 0
      })
      letters = logs.filter(item => {
        return item.split(' ')[1] >= 'a'
      })
      letters.sort((a, b) => {
        const [id1, ...arr1] = a.split(' ')
        const [id2, ...arr2] = b.split(' ')
        const str1 = arr1.join(' ')
        const str2 = arr2.join(' ')
        if (str1 === str2) {
          return id1.localeCompare(id2)
        } else {
          return str1.localeCompare(str2)
        }
      })
      return letters.concat(digits)
    };
    

    相关文章

      网友评论

          本文标题:937 Reorder Data in Log Files

          本文链接:https://www.haomeiwen.com/subject/rjlwmktx.html