题解 | #数据分类处理#

数据分类处理

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)) #打印结果

全部评论

相关推荐

02-14 12:40
门头沟学院 Java
程序员花海:1.面试要求必须Java笔试不一定 2.难度对等秋招 远超于日常实习是因为同一批次且转正很多 竞争压力大 3.第一个加点指标,上线了就把接口性能加上去 使用本地缓存这个不算亮点 只是技术选型,要把为什么采用这个和背后的思考写出来而不是单纯堆叠技术没意义 4.八股要一直看 很容易忘记 5.拼团交易这个老问题 堆积技术 另外建议你把奖项合并到教育背景 没必要拆出来放最后
我的简历长这样
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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