HJ25 题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
这道题其实写代码不难,最难的是理解题意,这题目描述多少有麻烦了。
#输出格式
#总个数a (Ri 包含Ri的个数b b对数据:包含Ri的数据的下标+该数据) * len(R)组
#简单模拟题 I=[int(i) for i in input().split()][1:] R=sorted(set([int(i) for i in input().split()][1:]))#去重排序 ans={}#键为有用的Ri,值为[该Ri对应的Ii的下标,Ii] for i in R: for j in range(len(I)):#由于I中的值有重复,所以要按索引遍历 if str(i) in str(I[j]):#这个i有用,存起来 if i in ans: ans[i].append([j,I[j]]) else: ans[i]=[[j,I[j]]] a=sorted(ans)#对ans的键排序 sum=0#输出的总个数 res=[]#输出的个数后面的所有内容 for i in a:#按照升序遍历ans的键 res.append(i) res.append(len(ans[i]))#有多少组 for j in ans[i]: res.append(j[0])#下标 res.append(j[1])#值 sum=len(res) res=[str(i) for i in res] print(str(sum)," ".join(res))#华为##华为od##华为机试##华为od机试##字符串处理#
华为HJ103所有解法 文章被收录于专栏
这是我准备华为od面试的专属专栏,我会把自己的解法更新在里面,我会尽量写清楚自己的思路以及多写关键注释,希望对阅读的人有帮助~~~