• En
  • Signup
  • 刷题上岸
  • Today 0
  • Post 12
  • Followed 1
  • 捐助


    刷题上岸 刷题上岸 关注:1 内容:12

    937. Reorder Data in Log Files

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 刷题上岸
    • 等级6

      You have an array of logs.  Each log is a space delimited string of words.

      For each log, the first word in each log is an alphanumeric identifier.  Then, either:

      • Each word after the identifier will consist only of lowercase letters, or;

      • Each word after the identifier will consist only of digits.

      We will call these two varieties of logs letter-logs and digit-logs.  It is guaranteed that each log has at least one word after its identifier.

      Reorder the logs so that all of the letter-logs come before any digit-log.  The letter-logs are ordered lexicographically ignoring identifier, with the identifier used in case of ties.  The digit-logs should be put in their original order.

      Return the final order of the logs.


      Example 1:

      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"]



      1. 0 <= logs.length <= 100

      2. 3 <= logs[i].length <= 100

      3. logs[i] is guaranteed to have an identifier, and a word after the identifier.

      class Solution:
          def reorderLogFiles(self, logs: List[str]) -> List[str]:
              a = []
              b = []
              c = []
              for i in logs:
                  if i[-1].isalpha(): 
                      a.append([i,' '.join(i.split(' ')[1:])+' '+i.split(' ')[0]]) 
              a = sorted(a,key=lambda x:x[1])
              for a1 in a: 
              return c + b


    • Tasks
    • Current Activities
    • Back to Top