腾讯面试题, 2020年,让我们愉快的赛一次马!

程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹 昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹 一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹马,8个跑道,选出最快的... 阅读详情

最近, 有小伙伴去腾讯面试后, 给小编提了个问题:

​

64匹马,8个赛道,找出前4名,最少比赛多少场?

好的, 逻辑算法题, 考验逻辑思维能力的时候到了!!

情况分析一:计时赛

根据题目, 我们很快发现, 这个题目其实很“发散”, 没有一堆“条条框框”的限制.(小声BB: 其实就是条件没给全).

好的,那么我们就“鬼机灵”一下, 就假设它是“计时赛”啰!

很好,64匹马,8个赛道,那么只需要8次比赛就能根据时间得到最快的4匹马儿~

显然, 腾讯大厂不可能这么沙雕的吧?! 所以,我们不排除这种情况的前提下,必须去考虑“非计时赛”的这种更符合“大厂气质”的解决逻辑~

情况分析一:非计时赛

如果是非计时赛, 显然情况变得复杂了,但是,越是复杂的情况,才能显示出咱的聪明不是?!

首先,我们采用算法常用的思想“分而治之”,给64匹良驹分成8组,就A、B、C、D、E、F、G、H吧

每组8匹马, 按顺序编号:A1、A2、A3……依次类推~

接着,准备工作完成,我们开始让马儿跑一跑.

64匹马, 8个分组, 8条赛道

第一步(共跑了8次):8个分组各跑一次,保留每组的前4名(黄色区域), 然后淘汰掉每组的后四名(蓝色区域)

image

疑问??:

为啥淘汰8个分组每组的后4名?

答:

注意看题,我们只需要跑的最快的前4名, 所以, 淘汰每组的后4名,因为前4名绝不可能出现在蓝色区域的马儿中!

第二步(共跑了1次):取每组第1名进行一次比赛,然后淘汰最后4名所在组的所有马

image

疑问??:

为什么每组第1名跑一次,淘汰后4名所在分组?

答:

我们知道,经过第一步的赛马,我们已经得出了8个分组中的各自的组内排名,

但是8个分组,哪个分组更厉害呢?

我们不知道, 所以需要每个分组的第1名跑一次,得出8个分组的组外排名!

假设8个分组的第1名跑完后,前4名为A1、B1、C1、D1 , 所以,根据要求找到最快的4匹, 最快的4匹肯定在A、B、C、D, 4个组内, 绝对不可能出现在E、F、G、H, 4个分组内! 因为E、F、G、H中最快的马E1、F1、G1、H1 都没在前4名中,剩下的更不可能!

第三步(逻辑分析,无需跑): 经过了前两步的角逐,**A1可以晋级了!**因为它已经是64匹中最快的那匹了!!

我们只需要再找到剩下的最快的3匹即可! 我们把A1这匹马(蓝色)摘出去,不考虑.

灰色区域的6匹马直接淘汰即可!!!

为啥???

image

听我细细道来!

image

疑??:

为什么直接淘汰灰色区域的6匹马儿,它们犯了什么错?

答:

谨记一条,题目需要我们找到最快的4匹马, 经过前两步(共跑了9次)的角逐,我们知道,A1、B1、C1、D1, 是8个分组“组外排名”的前4, 同时,A1又是A组内最快的,所以,A1肯定是64匹中最快的!!

但是,64匹中最快的第2名,第3名,第4名,暂时却找不出来了!

分析一波:

最快的第2名可能在哪个区间?

显然,只能在A2,或者B1! !!

为什么不能是A3或者B2或者C1?

你细品!

因为组内最快排名(前四)A1、A2、A3、A4, 组外最快排名(前四)A1、B1、C1、D1!

所以,最快的第2名只能在A2和B1中选! 没有其它选择!!

照此逻辑继续分析第2名和第4名,可以知道,最快的前4名不可能分布在灰色区域,所以,淘汰掉灰色区域的6匹马!

第四步(分类讨论):因为A1为最快的第一名,所以我们把它摘出去,不考虑了! 接下来的问题就是在A2、A3、A4、B1、B2、B3、C1、C2、D1, 9匹马中找到最快的3匹即可.

重点来了: 因为只有8个跑道,而我们有9匹马!

**所以,我们留下9匹马中的任意一匹! **

此处注意: 我们留下的这匹马可以分为两类来处理:

一类: 该马存在明显的比它慢的马!

image

二类: 该马不存在明显比它慢的马!

image

情况一: 留下“一类”马!

假设我们留B1!(C1,B2是明显慢于它的)

剩下的8匹去跑一次!

情景1(跑一次):

剩下的8匹跑完后,我们发现,B2或者C1跑进了前3名! 此时,留下的B1肯定是最快的前3名! 因为B1 比B2和C1都快!!

于是,我们顺利找到了64匹中最快的4匹

情景2(跑两次):

剩下的8匹跑完后,我们发现,B2或者C1没有跑进前3名!

此时,我们只能让B1、A2、A3、A4再跑一次, 取前三名即可!!

疑??: 为什么是B1、A2、A3、A4再跑一次? 而不是其它?

答:

  1. 假设B2没有跑进前3名,则只能是A2、A3、A4跑进了前3;

所以B1和A2、A3、A4跑(注意,为什么不和C1跑,因为B1比C1快,无需跑!)

  1. 假设C1没有跑进前3名,则可能是A2、A3、A4、B2、B3跑进了前三,

而B1比B2、B3快,无需再跑, 所以还是B1和A2、A3、A4跑!

情况一: 留下“二类”马!

假设我们留A4!(没有明显比它慢的马)

剩下的8匹去跑一次, 得到一个排名, 之后,再摘出第一名, 剩下的和A4跑一圈

这样我们得到最快的前四名!!

分析

可以看出,我们留下“一类”马的话,是可能存在一个“最优”结果,也就是只需要跑一次就能得出结果

而我们留下二类马的话, 则需要两次才能得出结果!!

结果

image

通过以上分析, 我们再看看题目要求,需要我们得出“最少比赛多少场?”

第一步 8 次

第二步 1 次

第三步 0 次

第四步 1 次 或 2 次

则最少 8 + 1 + 1 = 10 次

看似简单的一个问题,背后却隐藏着如此复杂的逻辑, “大厂风范” 尽显无疑~

聪明的小伙伴们有没有更高明的解决方案呢?

欢迎分享~~!

请关注我的订阅号

订阅号.png

【面试汇总】刚毕业就拿到阿里,字节跳动,腾讯的实习offer,附上我的经验希望帮助到大家! 前言 不知不觉已经6月中了,细想2020年在家蹲着疯狂准备秋招实习,到已经实习一个多月,紧接着大厂秋招提前批也吹响了号角,时间节点衔接得很快,在这个时间点会有点感慨,以前在秋招的时候每天都在啃网上面经,拿到offer了直接去实习也没有时间在网上反馈回来,现在决定还是以一个“过来人”的身份写一篇关于自己的亲身经历来给有需要的朋友做一些参考,大佬轻喷。接下来将从个人情况,秋招实习面经总结和秋招的一些建议三个方面展开,赶时间看题看面经的小伙伴可以直接到第二部分。 另外我这里为大家准备了一线大厂面试资料和我原创的 阅读详情

相关推荐

腾讯 招聘 笔试题 逻辑思维题

腾讯某年的笔试题,感兴趣的可以看看 只有三道思维题

漫画:挂掉面试官系列(25匹马经典面试题的完整分析)

今天为大家分享一道非常经典的面试题,和马有关。无论是校招,还是社招,在各大公司都出现过,我也曾经问过别人。话不多说,直接看题。0125匹马的经典问题25匹马的问题:有一个赛场上共有25匹...

weixin_41385912的博客 325

从零到一:树莓派OpenWrt squashfs固件扩容背后的文件系统魔法

本文深入解析树莓派OpenWrt系统中squashfs固件的扩容原理与操作。通过理解squashfs与overlayfs的协同机制,掌握分区调整和文件系统扩容技巧,解决存储空间限制问题,提升设备可用性。

hadoop5ranger的博客 1037

腾讯面试:赛马问题【超详细图解】64匹马,8个赛道,找出前4名最少比赛多少场?

大厂面试题:赛马问题 引子:在面试大厂时,怎么也没想到会考我一道脑筋急转弯。 问题:有64匹马和8条跑道,每次只允许最多8匹马同时比赛(假定每匹马每次比赛速度相同),但是没有秒表不能计时,问最少要比多少次,才能选出最快的4匹马? 常规思路 因为每匹马都至少得跑一次,而我们只需要选出最快的4匹,所以首先肯定得跑8场,每场淘汰4匹马。之后我们很容易想到将两组获胜的4匹马进行组合比赛,就可找到最快的4匹马。 这样解题,共需4轮15次,但不是最优解。 正确答案解析 第一轮:8场 把64匹马随机分为8组,总共比8场

Antai_ZHU的博客 1万+

华为手环实时心率数据导出到UWP项目中

hello大家好呀O(∩_∩)O最近在做毕设 其中有个小功能要用到实时心率数据。查找网上的资料发现只有小米手环的实时心率数据导出但是没有华为手环的,我试了华为手环但是并不能行得通哈哈哈。现在分享一下华为手环实时心率数据导出的代码。

apple_63713858的博客 1581

Lmbench测试集 --- 延迟测试工具lat_mem_rd

lmbench测试集简介 以及 lat_mem_rd延迟测试工具: 如何测试、测试结果、源码分析

MonologueYY的博客 1万+

[solution]腾讯TEG_计算广告组_算法题

  度娘笔试归来,题目实打实的,感觉真心不易,上百号人就抢那么几个坑......只恨自己平时积累太少啊~   故曝一道鹅厂面试用的算法题(当时我就死在了这题上),来为度娘家攒一下RP~   题目:      对于长度为N的一个无序的数组a[1..N],请将a进行排序,要求所有正数都排在0之前,所有负数都排在0之后(如果没有0,则所有正数排在负数前)      要求时间复杂度O(N),...

weixin_34128237的博客 333

【若依(ruoyi)】BootstrapTable列宽定制实战:突破width属性限制的两种方案

本文针对若依(RuoYi)框架中BootstrapTable组件列宽设置失效的常见问题,提供了两种实战解决方案。通过CSS样式覆盖法强制定义列宽,或利用formatter函数进行动态HTML包裹,有效突破width属性限制,实现精准的表格列宽定制。

weixin_29013129的博客 174

腾讯算法岗面试题,打脸现场,挥泪整理面经

程序是不会骗人的,我们通过上面的代码,打印得出两者的内存地址都是相同的,看来它们是同一个对象。这是一个非线程安全的单例模式,instance作为静态对象,其生命周期要长于普通的对象,其中也包含Activity,假如Activity A去getInstance获得instance对象,传入this,常驻内存的Singleton保存了你传入的Activity A对象,并一直持有,即使Activity被销毁掉,但因为它的引用还存在于一个Singleton中,就不可能被GC掉,这样就导致了内存泄漏。

2401_84023604的博客 749

C#上位机面试必问30题:机器视觉+工业通信+性能优化(含答案解析)

工业通信:围绕“稳定性”展开,重点答异常处理、断线重连、资源释放;机器视觉:围绕“精度+速度”展开,重点答预处理、ROI、参数优化;性能优化:围绕“UI不卡、内存不泄、效率不低”展开,重点答异步、限流、资源复用;面试加分项:结合实际项目案例(如“我在XX项目中用信号量解决了多设备并发卡顿问题”)。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1506

ConvNeXt 改进 :ConvNeXt添加GnConv递归门控卷积,二次创新CNBlock结构 ,独家首发

视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnConv),通过门控卷积和递归设计执行高阶空间交互。该新操作具有高度的灵活性和可定制性,兼容各种卷积变体,并将自注意力中的二阶交互扩展到任意阶数,而不会引入显著的额外计算。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 233

记一次腾讯社招前端面试(已入职)

作者:小冷^_^https://juejin.im/post/5dde65496fb9a07161483fc9笔者信息我某211非计算机相关专业2018届本科生,在校期间实习有半年多的小...

Yvette Lau的专栏 3183

Machine Unlearning: A Survey

机器学习已经引起了广泛的关注,并发展成为一种使能技术,用于广泛的高度成功的应用,如智能计算机视觉、语音识别、医疗诊断等。然而,由于隐私、可用性和/或被遗忘权,一些特定样本的信息需要从称为机器遗忘的模型中删除,这就产生了一种特殊的需求。这项新兴技术因其创新性和实用性而引起了学术界和工业界的极大兴趣。与此同时,这个雄心勃勃的问题导致了许多旨在应对其挑战的研究工作。据我们所知,没有任何研究分析过这一复杂的主题,也没有比较过现有的遗忘解决方案在不同场景下的可行性。因此,通过这项调查,我们旨在了解遗忘技术的关键概念。

c_cpp_csharp的专栏 1158

【上岸经验】粉丝仅工作2年就一个秋招拿了阿里,字节跳动,腾讯的offer!(附上大佬的面经希望帮助到大家)

前言 不知不觉已经6月中了,细想2020年在家蹲着疯狂准备秋招实习,到已经实习一个多月,紧接着大厂秋招提前批也吹响了号角,时间节点衔接得很快,在这个时间点会有点感慨,以前在秋招的时候每天都在啃网上面经,拿到offer了直接去实习也没有时间在网上反馈回来,现在决定还是以一个“过来人”的身份写一篇关于自己的亲身经历来给有需要的朋友做一些参考,大佬轻喷。接下来将从个人情况,秋招实习面经总结和秋招的一些建议三个方面展开,赶时间看题看面经的小伙伴可以直接到第二部分。 另外我这里为大家准备了一线大厂面试资料和我原创的

weixin_53170684的博客 2787

使用YOLOv5进行工业检测(如裂纹、划痕、破损等)

本文将详细介绍如何使用YOLOv5实现工业检测项目,以检测生产线上的缺陷产品,如裂纹、划痕、破损等。我们将分步介绍数据准备、模型训练、模型优化和部署等过程。

a871923942的博客 2528

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

记一次腾讯社招前端面试(已拿到offer入职)

作者:小冷^_^链接:https://juejin.im/post/5dde65496fb9a07161483fc9笔者信息我某211非计算机相关专业2...

代码技巧 2966

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

重磅!LeetCode 解题PDF终于在GitHub上开源了!覆盖字节、蚂蚁、腾讯等多家大厂真题...

点击“开发者技术前线”,选择“星标????”在看|星标|留言, 真爱最近有有不少老铁在后台留言说,想进大厂,但是算法不好。最近我整理了一份刷题实录,这份刷题实录,也让我进了心仪的大厂。...

开发者技术前线-DevolperFront 5486

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

2019年总结

2019年总结 从放假的第一天21号,到今天,一拖再拖,2019年的总结一直没有完成,今天(29号)终于从书包中拿出了电脑,回顾下自己的2019年,展望下2020年。 回顾下2019年,首先谈下工作、然后谈下学习和成长,最后展望下2020年。 1.工作(换工作了) 2019年9月17号从美团点评离职,2019年9月19号加入了哔哩哔哩。 熟悉我的人可能知道,博主从2017年研究生毕业之后,入职了美...

wojiushimogui的博客 1196

新鲜的腾讯社招前端面经(18年毕业生)

笔者信息 我某211非计算机相关专业2018届本科生,在校期间实习有半年多的小公司Java开发实习经历,毕业之后投递360,入职了360企业安全(现奇安信)成为专门的前端开发工程师,有幸进入一个很赞的团队,遇到很棒的导师和leader,成长杠杠的。 跳槽计划 工作一年多后于今天8月有明确的跳槽计划,念头是 北京待着也挺不舒服,当时就开始断断续续的刷leetcode,各题型各难度都有认真琢磨...

frontend_frank的博客 722

厉害了!刷题PDF终于在GitHub上开源了!覆盖字节、蚂蚁、腾讯大厂真题

点击“开发者技术前线”,选择“星标????”在看|星标|留言, 真爱今天给大家分享2套手册。先看看一大牛整理了一套初学到进阶的 LeetCode学习资料,分享一个火爆 GitHub 的 ...

开发者技术前线-DevolperFront 570

腾讯PCG事业群Android端一面面经

时间线 时间 历史节点 2020/3/10 确认内推 2020/3/11 17:00-18:06 一面 2020/3/13 17:00-17:32 二面 2020/3/18 15:00-16:00 三面 腾讯PCG事业群Android端 一面【66min】 1.自我介绍 2.我看你这简历上的技能咋都写的是Java的东西呢?安卓的项目做过,SSM的也做过,那你后台开发...

NayelyA的博客 1177

无意苦争春,一任群芳妒!看完这份2020年度大厂Android面试总结,我直接起飞!

前言 草色青青柳色黄,桃花历乱李花香。度过了愉快的春节,转眼间春天也就到了。金三银四青铜五,今年面试形势严峻,切勿临时抱佛脚。在博主认为,对于Android面试以及进阶的最佳学习方法莫过于刷题+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。 其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点.

Androiddddd的博客 897

太赞了!刷题PDF终于在GitHub上开源了!覆盖字节、蚂蚁、腾讯等多家大厂真题...

最近有有不少老铁在后台留言说,想进大厂,但是算法不好。最近我整理了一份刷题实录,这份刷题实录,也让我进了心仪的大厂。现在开放分享给大家。希望对大家有所帮助。任何的算法题,如同写作文一样,...

HollisChuang's Blog 1623

android下拉框!京东面试真题解析,大厂面试题汇总

开头 学习能力,尤其是自学能力,你啥时看到那些有名的程序高手在论坛上问“学习XX该看什么书,如何快速学习XXX,学习XXX有什么代码推荐”之类的问题,他们想学什么很快就能自己找到相关资料。这个行业发展太快,技术淘汰的速度也很快,3年不学新东西就可能落伍了。 动手能力,都是看书看资料,当别人还在纠结看什么书,还在纠结书里的字句是什么意思的时候,有些人的几百上千行代码都已经能运行了。 耐心和毅力,做程序员兴趣固然重要,写自己喜欢的代码那是相当愉快的事情,但是程序开发中无论如何还有大量乏味无趣的事情,要能坚持,咬

225

菜(大)鸡(佬)cv算法的20秋招辛酸路程,13家企业面经一一道来

点击上方“AI算法与图像处理”,选择加"星标"或“置顶”重磅干货,每天 8:25 送达推荐文章【点击下面可直接跳转】:来源:https://www.nowcoder.co...

weixin_38754361的博客 475
上一篇: 2019,UI革命,暗黑模式的崛起
下一篇: 记一次生产升级事件(nginx)
码哥说
博客等级 码龄8年 5645粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码哥说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值