滴滴 秋招三面
2025/9/5 约30min
…………………………
自我介绍
实习经历
golang多个goroutine 怎么做单播 广播 定时器等
蓝眼睛推理问题。岛上n个人,k个蓝眼睛(≥1),每天有船,确定自己是蓝眼睛的人会离开岛屿。求最少几天所有人离开
反问
……………………………
感觉好快。
golang的goroutine协作不是很熟。
蓝眼睛推理在提示下才做出来
…………………………
自我介绍
实习经历
golang多个goroutine 怎么做单播 广播 定时器等
蓝眼睛推理问题。岛上n个人,k个蓝眼睛(≥1),每天有船,确定自己是蓝眼睛的人会离开岛屿。求最少几天所有人离开
反问
……………………………
感觉好快。
golang的goroutine协作不是很熟。
蓝眼睛推理在提示下才做出来
全部评论
啥时候投的
golang多个goroutine 怎么做单播 广播 定时器等
我们可以创建一个全局的channel切片,然后每一个goroutine对应的切片中的一个channel(可以让manger协程使用下标作为参数传递给goroutine),然后每一个goroutine都可以监听自己下标的channel。每一个gorontine针对自己的channel是只有读权限,其他的channel只有写权限,从而实现一个单播和广播。
定时器我感觉实现应该是类似的,可以让某一个协程sleep设置的某个时间之后向全局切片中的所有channel中投递消息。
蓝眼睛推理问题。岛上n个人,k个蓝眼睛(≥1),每天有船,确定自己是蓝眼睛的人会离开岛屿。求最少几天所有人离开
每个蓝眼睛的人看到k-1个蓝眼睛的人,他们等待k-1天,如果没有人离开,他们就推断自己也是蓝眼睛,因为如果自己不是蓝眼睛,那么其他k-1个蓝眼睛的人应该在第k-1天离开。(这个规律可以从k=1 ... 一直往后推理归纳出来)
每个非蓝眼睛的人看到k个蓝眼睛的人,所以他们会等待k天,然后发现在第k天的时候所有人都走了,那么就说明自己是非蓝眼睛
哈哈哈哈哈哈b站有这题
相关推荐

点赞 评论 收藏
分享