(每日一练28811)题目名称:小艺的英文名

文盲老顾
WEB应用领新星创作者
博客专家认证
2023-05-21 13:17:32

小艺酱想给自己起一个英文名字。 小艺酱想要装的自己学识渊博。 所以她想要自己英文名字必须满足: 1.只有字母表中前k个小写字母。 2.必须是回文串。 3.前k个小写字母每个字母至少出现一次。 小艺酱已经自己完成了部分空余的字母部分用’?’代替。 请你帮她完成她的英文名字。

嗯,除非两个对应的位置都是?号,其他位置的?替换成对应的内容,两个都是?号的,则按缺失字符递补。

k = int(input())
name = input()
n = len(name)
cs = 'abcdefghijklmnopqrstuvwxyz'
ans = ''
less = sorted(set(cs[:k]) - set(name))
l = (n - 1) // 2
r = l if n % 2 == 1 else l + 1
t = list(name)
for i in range(l + 1):
    if t[l - i] != t[r + i] and '?' not in [t[l - i],t[r + i]]:
        ans = 'QAQ'
        break
    elif t[l - i] != t[r + i]:
        t[l - i] = t[r + i] = (t[l - i] if t[l - i] != '?' else t[r + i])
    elif '?' == t[l - i] == t[r + i]:
        t[l - i] = t[r + i] = (less.pop() if len(less) > 0 else 'a')
if ans == '':
    if len(less) > 0:
        ans = 'QAQ'
    else:
        ans = ''.join(t)
print(ans)
...全文
225 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

321

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧