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面试的专属专栏,我会把自己的解法更新在里面,我会尽量写清楚自己的思路以及多写关键注释,希望对阅读的人有帮助~~~

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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