1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

把每个文件夹名从左到右切分成一串“比较单元”:

  • 遇到字母:按单个字符作为单元,直接用 ASCII('A'<'Z'<'a'<'z')比较
  • 遇到连续数字:整段数字作为一个单元,转换成整数值比较(忽略前导 0)

然后用“自然排序”的比较方法从左到右逐单元比较:

P4536.第3题-文件夹排序

    1000ms Tried: 165 Accepted: 47 Difficulty: 7 所属公司 : 华为
    算法与标签>字符串

题目内容

文件夹命名经常会使用字符+数字混合命名,为了方便查看,希望文件夹排序时可以按字符序+数字值综合排序。 给定nnn个文件夹名称,每个文件夹名称为v[i]v[i]v[i],请按照字符从小到大(a−zA−Z)(a-zA-Z)(a−zA−Z)及数字值从小到大的顺序排序,输出排序后的文件夹名称。

排序规则:

1.从左到右依次比较,区分大小写,字母从a−zA−Za-zA-Za−zA−Z顺序排列

2.连续的数字字符整体转为整数后按从小到大排列,如001001001转为数字111后排序

3.字母和数字比较时数字在前,例,'testcase1testcase1testcase1'和'testcasefailtestcasefailtestcasefail'排序时'testcase1testcase1testcase1'在前

4.如一个文件夹名称是另一个文件夹名称的前缀子串,则长度短的子串排在前,例:'testcase,testcase001testcase,testcase001testcase,testcase001'排序时'testcasetestcasetestcase'在前

5.两个文件夹名称排序相同时,不改变输入顺序,这里相同包括数字字符不同但转成整数后值相同,例:'testcase1testcase1testcase1'和'testcase001testcase001testcase001'排序时二者相同,保持输入顺序,'testcase1testcase1testcase1'在前

输入描述

1,第111行:nnn,代表输入文件夹名称个数,范围[1,100][1,100][1,100]

2.第2行:v[0]v[0]v[0]代表第111个文件夹名称,名称只包合大小写字母和数字字符,长度[1,127][1,127][1,127],连续的数字字符数量不超过999

3.第n+1第n+1第n+1行:v[n−1]v[n-1]v[n−1], 代表第nnn个文件夹名称,名称只包含大小写字母和数字字符,长度[1,127][1,127][1,127],连续的数字字符数量不超过999

输出描述

按行输出排序后的文件夹名称

样例1

输入

3
ts1tc1
ts1tc01
ts0tc1

输出

ts0tc1
ts1tc1
ts1tc01

说明

第111行输入333,表示有333个文件夹

第333行起分别输入333个文件夹名称'ts0tc1ts0tc1ts0tc1','ts1tc1ts1tc1ts1tc1','ts1tc01ts1tc01ts1tc01'排序时'tststs'部分一致,后续'000' '111' '111' 转为数字对应0,1,10,1,10,1,1,按规则排序,'ts0tc1ts0tc1ts0tc1'排第111,'ts1tc1ts1tc1ts1tc1'排经2,'ts1tc01ts1tc01ts1tc01'排第333

样例2

输入

2
testcase10
testcase9

输出

testcase9
testcase10

说明

第111行输入222,表示有222个文件夹

第222行起分别输入222个文件夹名称'testcase10testcase10testcase10','testcase9testcase9testcase9',排序时'testcasetestcasetestcase' 部分一致,然后看最后的数字部分,9<109<109<10,按数字由小到大排序,'testcase9testcase9testcase9'在前

输出:

testcase9testcase9testcase9

testcase10testcase10testcase10

样例3

输入

3
ts09sc1
ts01tc1
ts010tc12

输出

ts01tc1
ts09tc1
ts010tc12

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 66ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?