题解 | #[NOIP2017]图书管理员#

[NOIP2017]图书管理员

https://ac.nowcoder.com/acm/problem/16422

解法一 
n,q=map(int,input().split())
books = [input() for i in range(n)]
for _ in range(q):
    len,code = input().split()
    code = [int(i) for i in books if i[-int(len):]==code]
    print(min(code))if code!=[] else print(-1)
   code = [int(i) for i in books if i[-int(len):] == code]:
   
>    这行代码使用列表推导式,遍历 books 列表中的每个书籍名称,检查书籍名称结尾是否与 code 相匹配。如果匹配,将符合条件的元素转换为整数并存储在新列表 code 中。
    
> i:表示要进行操作的字符串。
[-int(len):]:根据负数索引的规则,-int(len) 表示倒数第 int(len) 个字符的位置。对于切片操作 [-int(len):],它从倒数第 int(len) 个字符开始一直到字符串末尾的位置,包括倒数第 int(len) 个字符但不包括最后一个字符


解法二    
n,p=map(int,input().split())
a=[]
for i in range(n):
    a.append(int(input()))
a.sort()
for i in range(p):
    c,d=map(int,input().split())
    for i in a:
        if i%(10**c)==d:
            print(i)
            break
    else:
        print(-1)
全部评论

相关推荐

明天不下雨了:我靠2022了都去字节了还什么读研我教你****:你好,本人985电子科大在读研一,本科西南大学(211)我在字节跳动实习过。对您的岗位很感兴趣,希望获得一次投递机会。
点赞 评论 收藏
分享
01-23 19:12
门头沟学院 Java
榨出爱国基因:你还差 0.1% 就拿到校招礼盒,快叫朋友给你砍一刀吧
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
02-15 22:29
门头沟学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务