Вам дан массив журналов. Каждый журнал представляет собой строку слов, разделенных пробелами, где первое слово является идентификатором.

Существует два типа журналов:

Letter-logs: Все слова (кроме идентификатора) состоят из строчных английских букв.
Цифровые журналы: Все слова (кроме идентификатора) состоят из цифр.
Измените порядок этих журналов так, чтобы:

Буквенные логи идут перед всеми цифровыми логами.
Журналы писем отсортированы лексикографически по их содержанию. Если их содержимое одинаково, то отсортируйте их лексикографически по их идентификаторам.
Цифровые журналы сохраняют свой относительный порядок.
Вернуть окончательный порядок журналов.


class Solution:
    def reorderLogFiles(self, logs: List[str]) -> List[str]:

        def get_key(log):
            _id, rest = log.split(" ", maxsplit=1)
            return (0, rest, _id) if rest[0].isalpha() else (1, )

        return sorted(logs, key=get_key)




Войти в полноэкранный режим

Выйти из полноэкранного режима