题解 | #数据分类处理#

数据分类处理

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

全部评论

相关推荐

评论
1
收藏
分享
牛客网
牛客企业服务