所以我试图在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"]
Wikipedia:
在数学中,按字典顺序或字典顺序(也称为如词汇顺序,字典顺序,字母顺序或词典产品)是单词的概括根据他们的字母顺序按字母顺序排列组件字母。这种概括主要在于定义整个序列的总顺序(在计算机中通常称为字符串)科学)的有限全序集的元素,通常称为字母。
词典顺序是字母顺序,然后是长度比较。
也就是说,字符串a在字典上小于字符串b
要按顺序放置项目,必须有一种比较两个项目的方法。对于字符串,通常的顺序是词典顺序基本上,按字母顺序排列。