按字典顺序排序是什么意思

问题描述 投票:0回答:1

所以我试图在stackoverflow上解决这个问题

问题链接:https://leetcode.com/problems/reorder-data-in-log-files/

问题:基本上,我们需要对日志重新排序,以使所有字母日志排在任何数字日志之前。字母日志按字典顺序忽略标识符,并在有领带的情况下使用标识符。数字日志应按原始顺序放置。

关于我也写了这个问题

/**
 * @param {string[]} logs
 * @return {string[]}
 */
var reorderLogFiles = function(logs) {
    const letterLogs = []
    const digitLogs = []
    let i = 0; 
    while (i<logs.length) {
        const logger = logs[i]
        const secondWordIndex = logger.indexOf(' ') + 1 
        console.log(logger[secondWordIndex])
        if (isNaN(logger[secondWordIndex])) letterLogs.push(logger)
        else digitLogs.push(logger)
        i++
    }

    return [...letterLogs, ...digitLogs]
};

但是这不是按字典顺序排列的,因为我不确定按字典顺序排列的含义是什么

这是给定的输入/输出

Input: logs = ["dig1 8 1 5 1","let1 art can","dig2 3 6","let2 own kit dig","let3 art zero"]
Output: ["let1 art can","let3 art zero","let2 own kit dig","dig1 8 1 5 1","dig2 3 6"]
javascript
1个回答
0
投票

Wikipedia:

在数学中,按字典顺序或字典顺序(也称为如词汇顺序,字典顺序,字母顺序或词典产品)是单词的概括根据他们的字母顺序按字母顺序排列组件字母。这种概括主要在于定义整个序列的总顺序(在计算机中通常称为字符串)科学)的有限全序集的元素,通常称为字母。

词典顺序是字母顺序,然后是长度比较。

也就是说,字符串a在字典上小于字符串b

  • 如果a的长度小于b的长度,或
  • 否则它们的长度相同,并且a的字母顺序小于b。

要按顺序放置项目,必须有一种比较两个项目的方法。对于字符串,通常的顺序是词典顺序基本上,按字母顺序排列。

lexicographical vs alphabetical-order

© www.soinside.com 2019 - 2024. All rights reserved.