题解 | #数据分类处理#

数据分类处理

https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd

I = input().strip().split(' ')[1:] #舍弃第一个数(数量个数)并以字符串形式保存
R = list(map(str, sorted(list(map(int, list(set(input().strip().split(' ')[1:]))))))) #对R排序且去重并舍弃第一个数(数量个数)并以字符串形式保存
hashtable = {} #创建哈希表
res = [] #创建结果列表
for r in R: #循环遍历R中的数
    temp = [] #创建临时用于保存数据的列表
    for ind, i in enumerate(I): #遍历I中的索引和字符串
        if r in i: #如果R中某个数在I中
            temp.append(str(ind)) #保存I中该数的索引
            temp.append(i) #保存I中该数的数据
    if temp: #如果临时列表有值 说明R中有某个数在I中某个值里
        hashtable[r] = [str(len(temp)//2)] + temp #将I中符合数的个数加入temp列表并保存在哈希表中
for key, value in hashtable.items(): #遍历哈希表中的键值对
    res = res + [key] + value #将结果保存在结果列表中
res = [str(len(res))] + res #将结果列表总个数保存在0索引位
print(' '.join(res)) #打印结果

全部评论

相关推荐

07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务