当前位置:网站首页>LeetCode简单题之重新排列日志文件
LeetCode简单题之重新排列日志文件
2022-04-23 07:02:00 【·星辰大海】
题目
给你一个日志数组 logs。每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的 标识符 。
有两种不同类型的日志:
字母日志:除标识符之外,所有字均由小写字母组成
数字日志:除标识符之外,所有字均由数字组成
请按下述规则将日志重新排序:
所有 字母日志 都排在 数字日志 之前。
字母日志 在内容不同时,忽略标识符后,按内容字母顺序排序;在内容相同时,按标识符排序。
数字日志 应该保留原来的相对顺序。
返回日志的最终顺序。
示例 1:
输入:logs = [“dig1 8 1 5 1”,“let1 art can”,“dig2 3 6”,“let2 own kit dig”,“let3 art zero”]
输出:[“let1 art can”,“let3 art zero”,“let2 own kit dig”,“dig1 8 1 5 1”,“dig2 3 6”]
解释:
字母日志的内容都不同,所以顺序为 “art can”, “art zero”, “own kit dig” 。
数字日志保留原来的相对顺序 “dig1 8 1 5 1”, “dig2 3 6” 。
示例 2:
输入:logs = [“a1 9 2 3 1”,“g1 act car”,“zo4 4 7”,“ab1 off key dog”,“a8 act zoo”]
输出:[“g1 act car”,“a8 act zoo”,“ab1 off key dog”,“a1 9 2 3 1”,“zo4 4 7”]
提示:
1 <= logs.length <= 100
3 <= logs[i].length <= 100
logs[i] 中,字与字之间都用 单个 空格分隔
题目数据保证 logs[i] 都有一个标识符,并且在标识符之后至少存在一个字
来源:力扣(LeetCode)
解题思路
这个题需要根据条件重新写一下排序信息,每个元素中第一个空格后面是数字的话就断定这是一个数字日志,否则就是字母日志,所以我们只需要看单个元素第一个空格后的第一个字符即可。由于python自带的sort函数默认是稳定的排序,所以在排数字日志的时候直接赋值一样大的值就好,其余的规则可以使用元组分开第一和第二顺序。
class Solution:
def reorderLogFiles(self, logs: List[str]) -> List[str]:
def sort_rule(x):
index=x.index(' ')
if x[index+1].isdigit():
return 'z'*100,'z'*100
else:
return x[index+1:],x[0:index]
return sorted(logs,key=sort_rule)

版权声明
本文为[·星辰大海]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_18560985/article/details/124356390
边栏推荐
- 以下程序实现从字符串str中删除第i个字符开始的连续n个字
- Intranet penetration series: pingtunnel of Intranet tunnel
- 一款拥有漂亮外表的Typecho简洁主题_Scarfskin 源码下载
- 学fpga(从verilog到hls)
- Data security has become a hidden danger. Let's see how vivo can make "user data" armor again
- Flatten arrays
- js将树形结构数据转为一维数组数据
- 为什么会存在1px问题?怎么解决?
- Research on system and software security (2)
- Research on system and software security (I)
猜你喜欢
![[极客大挑战 2019]Havefun1](/img/8b/b15bf31771d54db25f24d630e64093.png)
[极客大挑战 2019]Havefun1

雲計算技能大賽 -- openstack私有雲環境 第一部分

简述存储器的分级策略

每周leetcode - 06 数组专题 7~739~50~offer 62~26~189~9

LeetCode 1611. 使整数变为 0 的最少操作次数

干货!以点为形:可微分的泊松求解器

三星,再次“西征”

Intranet penetration series: icmptunnel of Intranet tunnel (Master James Barlow's)
![[appium] encountered the problem of switching the H5 page embedded in the mobile phone during the test](/img/4a/c741ec4f9aa724e150a5ae24d0f9e9.png)
[appium] encountered the problem of switching the H5 page embedded in the mobile phone during the test

分布式服务治理Nacos
随机推荐
网赚APP资源下载类网站源码
数据库之Mysql——概述安装篇
Hump naming object
編譯原理題-帶答案
idea:使用easyYapi插件导出yapi接口
PHP high precision computing
【无标题】
Cloud computing skills competition -- the first part of openstack private cloud environment
Intranet penetration series: icmptunnel of Intranet tunnel (Master James Barlow's)
How to import Excel data in SQL server, 2019 Edition
Smart business card applet business card details page function implementation key code
使用 Ingress 实现金丝雀发布
Why are there 1px problems? How?
C language learning record -- use and analysis of string function (2)
【Appium】测试时遇到手机内嵌H5页面的切换问题
社区团购小程序源码+界面diy+附近团长+供应商+拼团+菜谱+秒杀+预售+配送+直播
GUI,CLI与Unix哲学
js将树形结构数据转为一维数组数据
3C裝配中的機械臂運動規劃
sql 使用过的查询语句