• 注册
  • 刷题上岸
  • 今日 0
  • 帖子 12
  • 关注 1
  • 捐助

    请在小工具里添加二维码

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

    937. Reorder Data in Log Files

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

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

       

      Constraints:

      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]]) 
                  else:
                      b.append(i) 
              a = sorted(a,key=lambda x:x[1])
              for a1 in a: 
                  c.append(a1[0])
              return c + b

      请登录之后再进行评论

      登录
    • 做任务
    • 实时动态
    • 返回顶部