程序员求助:被腾讯一道面试题难住了

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

昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。
在这里插入图片描述
程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹
一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹马,8个跑道,选出最快的四匹马。最少跑几个回合能够选出最快的四匹马。这样的求助也是瞬间引来了网友的围观与议论,我们先来看看网友们都是怎么解答这道题,一起来看看。
在这里插入图片描述
有网友就说到。南大的算法课题目之一,腾讯这么没创造力吗?又是我二面题目。可以计时吗,计时的话就8场。

有网友就回答到。随机分八组比赛,这是8场了,把每组第一名拿出来跑一场,每次把第一名选出来,把所在组的后一名拿出来补位,跟剩下的跑,这样跑4次就ok了。总共12次。不知道对不对

也有网友分析到。64分8组比8场,淘汰每组后四名;8个第一比1场,淘汰后四名所在组;剩余16匹马中有一个确定冠军,除此之外还剩第一名所在组后三位,第二名所在组前三位,第三名所在组前两位,第四名所在组第一位,共计9匹马未定,随机选8匹赛1场,取前三名;前三名+上一场漏掉的马赛1场,再取前三名加上固定冠军就是最快的四匹马。是这个思路不?
在这里插入图片描述
更多的网友加入了讨论。最小堆排序,8个回合吧,64匹马每匹马跑一次,根据每匹马花的时间,取最快的四匹马。我7年前去腾讯面实习,三面就面的这个问题。

可以计时的话8场。不计时的话,选4匹家里有椅子的送到黎总办公室,剩余60杀掉,仅需跑0场。8轮对8组马分组排序,去除每组后四名,剩余8组4匹。第一名跑一次淘汰后四名所在的组,剩余4组4匹。在进行2次。每次第一都会有一个肯定是前四。

这个题目出的,连一些基础条件都没给。1,马的发挥是恒定的,每次跑相同的距离,时间务必相同。2,能不能用秒表计时?3,赛道长度不能长到跑死马的长度。

看了答案才懂。不断缩小检索空间,淘汰尽可能多的数。另外这题,剩9匹马时,一直以为还有更简单的。
程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹
在这里插入图片描述
更多的网友参与了回答。1,分8组,每组一次跑完,决出前4名,每组的后4名淘汰,这样8个来回之后,还剩32匹马;2,把每一组的第一名拉出来赛一回合,淘汰后4名以及他整个小组,同时排第一的组,冠军出来了,还剩3匹马,第二组,去掉最后一名,剩3屁,第三组去掉2名剩2名,最后一组剩1名,所以9个回合下来,剩9匹马争3个名额;3,8匹马一组,再来一回合,选前3名,这三个和剩下那个再来一次,选前3名。一共11回合,全部搞定。

最少10场(剩9匹的时候,选第一组的后3,第二组的前3,第三组的前2,如果第三组的第一这轮名次大于等于3,那就已经分出前四了),最多11场
在这里插入图片描述
也有比较理智的网友分析到。8+4+2+1,每一次比赛都需要留下来最快的4个,大数据面试里面内存不够,需要外部排序的一个变种,信息论算一下就出来了,8个赛道一次提供A8,8的信息,a64,60。 思路对但是以我的尿性应该还有点bug,我们组也考这道题,我觉得当年进来的时候觉得这不就是奥数么很简单,5年没有变竟然。感觉8个回合就够了啊,每只马跑一次,用毫秒表记录下每个马跑的时间,去前四。

step one:分八组,各跑一轮,依成绩组内编号。step two:各组一号跑一轮,依成绩编号。此时共跑九轮选出最快马。step three:此时【1】【2】马(即第一次参赛跑第一,第二次参赛跑第二的马)与最快马第一次参赛剩下的七匹为可能的次快马。让它们八匹跑一轮。此时假如【1】【2】马在该轮比赛中跑第三。则该轮的第一第二马分别为64匹中的亚军与季军。而【1】【2】马为所有马中第四快的马。至此10轮选出前四。因题目问“最少”,故第十轮不考虑其他可能出现的结果。


天才回答:


看了这么多网友的回复,其实答对的网友也是不少的。看似一个简单的问题,确实考的也是非常全面,不知道各位网友对于腾讯这样的面试题有没有更清晰的答案,欢迎留言与笔者一起探讨。

 

推荐阅读:

关于【暴力递归算法】你所不知道的思路

 

彩蛋

今年最新的三道面试题你能答上来吗?

为了这三道面试题的最优解,已经专门录制了一整集面试视频,有需要的朋友可以关注公众号【Java斗帝】回复【666】免费获取

看完三件事❤️

========

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:

点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

关注公众号 『 Java斗帝 』,不定期分享原创知识。

同时可以期待后续文章ing🚀

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

相关推荐

AIR780E二次开发点灯(LuatOS)

Air780E的LuatOS点灯教程,二次开发教程,可用于所有ec618平台,无需SDK

rootuseres的博客 1万+

一路披荆斩棘腾讯6面面经(已拿offer)大厂远没想象中的难

最后想说的是,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。以上文章中,提及到的所有的笔记内容、面试题等资料,均可以免费分享给大家学习,由于资料内容太多,平台篇幅限制,小编就展现了以上部分面试专题与资料,如需获取以下全部面试资料,可以点击文末下方传送门,即可免费获取!

知识分享官 957

Tesla V100 在 Windows 下的驱动选择与模式切换实战

本文详细解析了Tesla V100专业计算卡在Windows系统下的驱动安装与模式切换实战。针对设备管理器识别但任务管理器“隐身”的常见问题,文章指出其默认TCC模式为纯计算设计,并指导用户正确选择数据中心或GRID驱动。核心在于通过注册表修改或驱动选择,在高效的TCC模式与便于监控的WDDM模式间切换,同时提供了nvidia-smi命令行监控与AI框架测试等稳定使用方案。

weixin_29247219的博客 1804

ThreadLocal为什么要设计成private static

https://www.zhihu.com/question/35250439结论:1 static 防止无意义多实例2 当static时,ThreadLocal ref生命延长-ThreadMap的key在线程生命期内始终有值-ThreadMap的value在线程生命期内不释放——故线程池下,static修饰TrheadLocal引用,必须(1)remove   或(2)手动  ThreadLo...

silyvin 1万+

电源芯片TPS54560典型应用电路及设计详解

TPS54560 是一款配有集成型高侧 MOSFET 的 60V、5A DC-DC转换器,输入电压范围7-60V,输出电压可通过外部反馈电阻设置成略低于输入电压的任意值。**所以,**R5=31.25KΩ、R6:10KΩ(常用值)时,即可设置输出电压为 3.3V。**所以,**R5=140KΩ、R6:10KΩ(常用值)时,即可设置输出电压为12V。设计 TPS54560 的输出电压时,主要通过外部反馈电阻网络来设置输出电压。因此,输出 3.3V ,输入电压24V时推荐的电感值为 8µH 至 10µH。

weixin_42306872的博客 1万+

YOLOv8剪枝实战:基于torch_pruning的模型优化与性能提升指南

本文详细介绍了如何使用torch_pruning工具对YOLOv8模型进行结构化剪枝,以实现模型轻量化与性能提升。通过实战步骤解析,包括环境搭建、依赖图分析、迭代剪枝与微调策略,帮助开发者有效减少模型参数量和计算量,提升在边缘设备上的推理速度,同时保持检测(detect)与分割(segment)任务的精度。

water的专栏 1122

听说阿里百度这样的大公司,面试经常拿ThreadLocal考验求职者?(万字总结)

为什么要学习ThreadLocal呢?因为面试官经常问,而且在线程中使用它可以给我们提供一个线程内的本地局部变量,这样就可以减少在一个线程中因为多函数之间的操作导致共享变量传值的复杂性,说白了,我们使用ThreadLocal可以做到在一个线程内随时随地的取用,而且与其他的线程互不干扰。 在一些特殊的情景中,应用ThreadLocal会带来极大的便利,不过很多人却搞不懂Threadlocal到底是个...

庆哥Java的优快云技术博客 1万+

openharmony之启动恢复子系统详解

需求: 添加一个名为my_service的自定义服务步骤1: 创建服务配置],],"env": [步骤2: 添加到主配置],"jobs": ["cmds": [步骤3: 验证配置# ✅ 检查配置格式 jq . /system/etc/init/my_service.cfg # 🔄 重新加载配置 begetctl reload # 📊 验证服务状态 begetctl dump_service my_serviceOpenHarmony init进程的完整生命周期。🔄 三阶段启动模型⚙️ 配置体系。

m0_67505153的博客 597

并发编程(四):ThreadLocal从源码分析总结到内存泄漏

并发编程(四):ThreadLocal从源码分析总结到内存泄漏 一、目录 1、ThreadLocal是什么?有什么用? 2、ThreadLocal源码简要总结? 3、ThreadLocal为什么会导致内存泄漏? 二、ThreadLocal是什么?有什么用? 引入话题:在并发条件下,如何正确获得共享数据?举例:假设有多个用户需要获取用户信息,一个线程对应一个...

码农皮邱 312

【云原生技术】K8s 在拉取镜像时报错tls: failed to verify certificate: x509: certificate signed by unknown authority

原因 Kubernetes 节点在拉取镜像时会对 Harbor 的 HTTPS 证书做严格校验; 日志里的核心报错是: ``` tls: failed to verify certificate: x509: certificate signed by unknown authority ``` 说明 Harbor 返回的服务器证书要么是自签发,要么缺少在系统信任链里的根/中级 CA,节点因此拒绝连接。 你需要让 **所有负责拉镜像的节点(containerd 或 Docker 守护进程)

weixin_46453070的博客 2869

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

Soly_kun的博客 733

java 1.8 ThreadLocal源码分析

参考资料: http://www.cnblogs.com/dolphin0520/p/3920407.html http://blog.youkuaiyun.com/lufeng20/article/details/24314381 http://blog.youkuaiyun.com/devilkin64/article/details/79166301. 关于ThreadLocal创建线程局部私有的变量,避免多线

随心的专栏 2152

QT使用libssh2库通过密匙实现sftp协议上传文件

qt下使用libssh2通过密匙连接sftp服务器端

小米的修行之路 936

腾讯二面,我被 “赛马” 问题难住了

很难一次答对的经典面试题,处处是坑 大家好,我是鱼皮。 今天分享一道我曾经被难住了的面试题,也是一道大厂面试时经常会被问到的面试题,赛马问题。 题目其实不难,但是第一次被问到时,稍有不慎,就会答错。所以,一起来学习下吧! 问题 有 64 匹马 赛跑,没有任何秒表之类的计时工具,跑道每次只允许 8 匹马 同时比,问 最少 需要比赛几场才能够选出跑的最快的 前 4 名? 题目描述就这么多,大家可以先思考一下,然后在投票中给出答案吧~ (投票) 下面公布解题思路和答案。 解题思路 这道题目坑点很多,题目中任.

努力做最接地气的编程干货分享,感谢关注 2121

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

一道编程题让老程序员邹起了眉头,这样的题你会怎么解?

对程序员来说,程序的魅力在于它的变化无穷,对于一门计算机语言来说,他的基础语法是固定有限的,可是编程的花样却是千变万化,无法穷举,可以用它做出无数个不同领域,不同业务,形形色色的产品,正因为这么灵活,关于编程的题目,也是自然很多,想必面试过的程序员都见过各种各样的面试题,有简单的,有“造火箭”的,有非常挑战大脑思考力的等等,近期,一名程序员网友就被一道编程题难住了,他把这样的题目分享给了大家。 ...

sssdhua的博客 316

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【Java面试】这道互联网高频面试题难住了80%的程序员?索引什么时候失效?

Mysql里面很多问题都可以考察毕竟它也是工作中使用非常频繁的组件,按道理来说,我们是有必要去深度学习Mysql的底层原理。毕竟数据的安全性、数据IO性能都会影响到系统的整体吞吐量。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YQWVh3NM-1659805720107)(http://mic-blob-bucket.oss-cn-beijing.aliyuncs.com/27872_E8ABAEDF2F604422AAA6A9F1278774D9)]...

虚幻私塾 130

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

“秒杀”面试官,你只差这10道Python面试题

古木阴中系短篷, 杖藜扶我过桥东。 沾衣欲湿杏花雨, 吹面不寒杨柳风。 哈罗大家好, 我是Python的新员工干货狗。 没错! 就是狂拽帅气吊炸天、 人见人爱、花见花开、 专门推荐各种技术干货的那种。 大家可以叫我狗哥! 据说看完我推荐的东西, 技术能力都会增长好几倍。 什么?你说我吹牛? 这年头,给自己加点戏怎么了? 啊?你们不喜欢吹牛B风格啊? 那好,我低调点。 初到此地,小弟还在熟悉环境...

qq_44762698的博客 2101

移动开发最新程序员,男,工作7年,二本渣渣,面试上了头条,没想到------,腾讯技术面试题

各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。BAT大厂面试题、独家面试工具包,资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter,

2401_84545046的博客 762

BAT 七年经验,却抵不过外企面试的两道算法题?

整理| 琥珀出品| AI科技大本营又遇年底跳槽季,如果你曾在 BAT 等互联网大厂有过较为丰富的工作经验,想要换份工作,面试时会主要考虑哪些因素?面试外企,却被两道算法...

程序人生的博客 552

BAT七年经验,却抵不过外企面试的两道算法题?

整理| 琥珀出品| AI科技大本营又遇年底跳槽季,如果你曾在 BAT 等互联网大厂有过较为丰富的工作经验,想要换份工作,面试时会主要考虑哪些因素?面试外企,却被两道算法...

AI科技大本营 5429

学习Python最多的五类人群,你在其中嘛?,逆袭面经分享

不管是常见的大数据分析或者一般的金融分析、科学分析都比较大程度的应用了数据分析,人工智能的一些常见应用也使用了Python的一些技术。平常只关注div+css这些页面技术,很多时候其实需要与后端开发人员进行交互的,现在有很多Java程序在转到Python语言,他们都被Python代码的优美和开发效率所折服一些工程师以前在做很多SEO优化的时候,苦于不会编程,一些程序上面的问题,得不到解决,只能做做简单的页面优化。

2401_84254567的博客 702

老同事乱用Spring,CTO发飙了...,新手也写不出这么烂的代码啊!给大家看看!...

这里只针对spring框架,贴一份我见过最烂的代码(没有之一),我就想知道,有没有其他人能写出这样的代码?还有没有更加烂的编码方式??controller代码:Services代码:看到这...

公众号-老炮说Java 357

最适合学Python的几类人,有你吗?

01 现在都有哪些人在学Python,为什么学?目前在很多行业中都在越来越多的应用Python,这也是很多行业学习Python的原因,Python主要的应用领域有哪些呢?我们来看一看:目前学习Python的人群分为以下几类:1、入行编程新手大学刚毕业或者其他行业转岗,想从事编程开发的工作,目前认为Python比较火,想入行;Python简单易学,非常适合新手入门。2、Linux系统运维人员Linux运维以繁杂著称,对人员系统掌握知识的能力要求非常高,那么也就需要一个编程语言能解决自动化的问题,Python开

xx16755498979的博客 940

熬了一夜,肝了一本pdf!

大家好哈!推荐我的一个朋友:bigsai,我通常叫他大赛,目前在读研,蓝桥杯国一选手,手握腾讯、字节实习offer,我们经常一起交流学习,他专注于数据结构与算法和Java,文章的风格是通俗...

田维常 276

最适合学Python的五类人,有你吗?

随着人工智能、大数据、自动化运维测试等领域对于Python的应用越来越深入,Python已经成为众多行业必备的开发语言。

WANGJUNAIJIAO的博客 113
上一篇: 人生第一个【五年计划】居然被阿里面试官刁难了,耗时两个月
下一篇: 2020年常见Java面试题详解(持续更新中)
Java斗帝之路
博客等级 码龄7年 2392粉丝 687原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值