程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-05(2)

2023-06(3)

B站笔试真题之[编程题]脸滚键盘

发布于2019-09-11 13:58     阅读(721)     评论(0)     点赞(14)     收藏(4)


题目

链接:https://www.nowcoder.com/questionTerminal/2a3dc06f337d4a2ba41d25c688f95e2f
来源:牛客网

av394281 中,充满威严的蕾米莉亚大小姐因为触犯某条禁忌,被隙间妖怪八云紫(紫m……èi)按住头在键盘上滚动。
同样在弹幕里乱刷梗被紫姐姐做成罪袋的你被指派找到大小姐脸滚键盘打出的一行字中的第 k 个仅出现一次的字。
(为简化问题,大小姐没有滚出 ascii 字符集以外的字)

输入描述:

每个输入都有若干行,每行的第一个数字为k,表示求第k个仅出现一次的字。然后间隔一个半角空格,之后直到行尾的所有字符表示大小姐滚出的字符串S

输出描述:

输出的每一行对应输入的每一行的答案,如果无解,输出字符串Myon~

(请不要输出多余的空行)

为了方便评测,如果答案存在且为c,请输出[c]

示例1
输入

2 misakamikotodaisuki
3 !bakabaka~ bakabaka~ 129!
3 3.1415926535897932384626433832795028841971693993751o582097494459211451488946419191919l91919hmmhmmahhhhhhhhhh
7 www.bilibili.com/av170001
1 111

输出

[d]
[9]
[l]
[7]
Myon~

备注:

字符串S仅包含可见ascii码,长度不超过100000

分析

先求出每个字符出现的次数,存入一个有序的字典(按插入的顺序);接着遍历字典求出第k个唯一出现的字符。

代码

import re
import sys
# 解决牛客网多行输入
rows = []
row = input()
while row != '':
    rows.append(row)
    row = sys.stdin.readline().strip()
 
import collections
# 将每次求解封装起来
def solve(n, text):
    # 首先构造出按插入顺序排好的字符-次数字典对象
    countDict = collections.OrderedDict()
    # 用于记录第i个唯一出现字符
    i = 0
    # 遍历每一个字符
    for char in text:
        # 为字符添加相应次数
        if not char in countDict.keys():
            countDict[char] = 1
        else:
            countDict[char] += 1
 
    # 遍历统计完的有序字典
    for (k,v) in countDict.items():
        # 遇到唯一出现的字符则i+1
        if v == 1:
            i += 1
            # 如果i达到要求则可以结束
            if i == n:
                return k
 # 遍历读入的每一行
for row in rows:
    #利用正则获得数字以及之后的字符内容
    r = re.match('(\d+) (.*)', row)
    n = int(r.group(1))
    text = r.group(2)
    #求解并打印结果
    res = solve(n, text)
    if res == None:
        print("Myon~")
    else:
        print("["+res+"]")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

虽然很慢,但也算是通过了
在这里插入图片描述



所属网站分类: 技术文章 > 博客

作者:集天地之正气

链接:https://www.pythonheidong.com/blog/article/107203/43ab1698ea108f391444/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)