【字节跳动】19校招研发岗位第二次在线笔试

本文详细介绍了字节跳动校招研发岗位在线笔试中的一道题目——字节跳动大闯关。问题涉及到团队分组,要求每个组内成员相互认识。解决方案利用了集合合并策略和并查集数据结构,旨在确保团队协作和交流效果。同时,还提及了其他笔试题目,如合法表达式、双生词等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 字节跳动大闯关

题目描述:

Bytedance Efficiency Engineering团队在8月20日搬入了学清嘉创大厦。为庆祝团队的乔迁之喜,字节君决定邀请整个EE团队,举办一个大型团建游戏-字节跳动大闯关。可是遇到了一个问题:

EE团队共有n个人,大家都比较害羞,不善于与陌生人交流。这n个人每个人都向字节君提供了自己认识人的名字,不包括自己。如果A的名单里有B,或B的名单里有A,则代表A与B相互认识。同时如果A认识B,B认识C,则代表A与C也会很快认识,毕竟通过B的介绍,两个人就可以很快相互认识的了。

为了大闯关游戏可以更好地团队协作、气氛更活跃,并使得团队中的人可以尽快的相互了解、认识和交流,字节君决定根据这个名单将团队分为m组,每组人数可以不同,但组内的任何一个人都与组内的其他所有人直接或间接的认识和交流。如何确定一个方案,使得团队可以分成m组,并且这个m尽可能地小呢?

思路:简单的集合合并

合并策略:初始自己是一个集合,集合个数为n;
遍历第i名同学————第n名同学,i同学和他朋友们依次判断是否是一个集合,如果没在一个集合,进行合并,n--;

数据结构:并查集结构

作者:*程序牛*
链接:ht
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值