腾讯2021校园招聘技术类编程题汇总

第一题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码:

'''
    author: 'Qingmang'
    data: "2022/9/8 16:26"
    email: "1107438760@qq.com"
'''
import sys  # 导入sys模块
sys.setrecursionlimit(30000) #如果不设置这行的话 则会超出最大递归层数
def dfs(nums:dict[int:list[int]],visited:set[int],index:int):
    if index in visited:
        return
    else:
        visited.add(index)
        if index not in nums.keys():
            return
        for i in nums[index]:
            if i not in visited:
                    dfs(nums,visited,i)
if __name__ == '__main__':
    T = int(input())
    ans = []
    for i in range(T):
        n = int(input())
        nums = {}
        data = set()
        for j in range(n):
            x,y = input().split(" ")
            x = int(x)
            y = int(y)
            data.add(x)
            if x not in nums.keys():
                nums[x] = [y]
            else:
                nums[x].append(y)
            if y not in nums.keys():
                nums[y] = [x]
            else:
                nums[y].append(x)
        visited = set()
        res,curcount = 1,0
        for index in data:
            if index in visited:
                continue
            curcount = len(visited)
            dfs(nums,visited,index)
            if len(visited)-curcount>res:
                res = len(visited)-curcount
        ans.append(res)
    for i in ans:
        print(i)




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值