【秋招机试真题】华为机试0407-1-幼儿园小朋友分组

这是一道关于华为秋招机试的编程题目,要求根据小朋友的分组意愿,确定最多能将他们分成多少组。题目涉及并查集算法,输入描述包括小朋友人数及他们的分组意愿,输出为最多分组数。示例给出了3个小朋友的分组情况,通过解题思路和代码可以解决此类问题。
摘要由CSDN通过智能技术生成

/*
*    题目描述:
        幼儿园老师安排小朋友做游戏,现在需要给N个小朋友进行分组,老师让每个同学写一个名字,代表这位小朋友
        想和谁分到一组,请问老师在满足所有小朋友意愿的情况下,最多可以将班级分成多少组?
    输入描述:
        第一行输入N,0<N<=100000
        接下来的N行代表每个小朋友希望和谁分到一组,如“John Jack”,代表John希望和Jack分到一组,两个名字之间
        以空格分割,名字本身不存在空格
    输出描述:
        分组的最多数量

     示例:

        输入:

        3

        Tom John

        John Jane

        Jane Tom

        输出:

        1


*    


说明:华为0407第一题

考察知识点:并查集


解题思路:

        1、使用hash表建立每个小朋友的父节点关系表;

        2、输出有几个连通图


代码如下:

#i
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值