题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
没有什么技巧,就是循环遍历,先对R序列做掐头(第一位不算),去重,排序的处理。然后用每一个剩余的R成员和 I 序列中的元素逐一判断包含关系,如果包含,则把出现的次数tes 加1 ,将I中满足条件的元素的索引和元素一起追加到列表中,每一个R元素比较完后,判断 R元素出现的次数是否为0,为0则不记录,不为零则将R[i] ,次数 ,I序列索引和元素,汇总成一条字符串,然后存入到放最终结果列表。
最后打印列表长度和列表的所有元素。
while True: try: I = raw_input().split()[1:] R = sorted(set(map(int,raw_input().split()[1:]))) tmp = [[]] * len(R) rl = [] for r in range(len(R)): tmp[r] = [] tes = 0 for j in range(len(I)): if I[j].count(str(R[r])) != 0: tes +=1 tmp[r].append(str(j)+' '+str(I[j])) if tes !=0: res = str(R[r])+ ' ' + str(tes) +' ' + ' '.join( tmp[r]) rl.append(res) rs = ' '.join(rl) num = len(rs.split()) print num,rs except: break
查看7道真题和解析