作者 | 小K

出品 | 小K算法 (ID:xiaok365)

01 故事起源

小明一家人过桥,现在是黑夜,所以必须要有灯。小明过桥要1秒,弟弟要3秒,爸爸要6秒,妈妈要8秒,爷爷要12秒。
此桥每次最多可过2人,过桥速度依最慢者而定,灯在点燃后30秒就会熄灭。
请问小明一家应如何过桥?

02 思考

只有一盏灯,所以一个人过桥肯定不行,他还得把灯送回来。

那肯定得两个人一起过桥,同时还有一个人返回把灯送回来。

因为小明的耗时是最少的,那我们的第一想法就是由小明来拿灯并返回,分别和其它4人一起过桥。

03 小明拿灯

第一次,小明和弟弟一起过桥用3秒,返回1秒,还剩26秒。

第二次,小明和爸爸一起过桥用6秒,返回1秒,还剩19秒。

第三次,小明和妈妈一起过桥用8秒,返回1秒,还剩10秒。

第四次,因为爷爷要用12秒,时间不够,已经无法过桥了。那我们就要切换思路,还有没有更好的方法呢?

04 调整思维

先把每个人的耗时用图形展示出来,更直观。

可以把过桥想象成一个运输的过程,每次运输最大容量为2个矩形。

假设小明和爷爷组合,或者妈妈和爷爷组合如下:

因为一定是以最慢的为准,也就是以最长的矩形为准,可以发现小明和爷爷组合浪费了很多空间,而妈妈和爷爷组合就浪费的比较少。这就启示尽量让运输效率更高,也就是浪费的空间越少越好。

05 抽象描述

有5个长度不一的木块,现在要用箱子装下所有的木块,每个箱子最多装2个,箱子的宽度等于所装的最大木块的宽度,怎样装可以让所有箱子的宽度总和最小?
你品,你细品,如果不考虑返回送灯,是不是就很像上面的过桥问题。通过这种抽象描述,应该很多同学有一种熟悉的感觉。
是的,你没有猜错,是不是很像动态规划里面的多个背包啊。

不过这个问题还用不到动态规划,用贪心的思想即可,尽量让相等的放一起,就可以浪费更少的空间。

06 回到之前的问题

根据上面的思想,让耗时相等的尽量一起。
第一次,小明和弟弟一起过桥用3秒,小明返回1秒,还剩26秒。

第二次,妈妈和爷爷一起过桥用12秒,弟弟返回3秒,还剩11秒。

第三次,小明和爸爸一起过桥用6秒,小明返回1秒,还剩4秒。

第四次,小明和弟弟一起过桥用3秒,还有1秒。

小明一家人安全过桥,perfect。

07 总结

这类智力面试题,可以先尝试自己的第一感觉,如果不对就切换思路,思维不能局限,很快就可以发现规律了。

如果喜欢小K的文章,请点个关注,分享给更多的人,小K将持续更新,谢谢啦!

本文原创作者:小K,一个思维独特的写手。
文章首发平台:微信公众号【小K算法】。

关注下方公众号,分享硬核知识

往期精彩回顾

微软面试题:红帽子与黑帽子

图解堆排序算法

一道错误答案传遍全网的逻辑面试题

小明一家人,如何在30秒内过桥相关推荐

  1. 经典智力题:小明一家人过桥问题

    题目:小明一家过一座桥,过桥时是黑夜,所以必须有灯.现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒.每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而 ...

  2. 30秒内便能学会的30个超实用Python代码片段

    许多人在数据科学.机器学习.web开发.脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言. Python流行的部分原因在于简单易学. 本文将简要介绍30个简短的.且能在30秒内掌握 ...

  3. ios开发 mvp实践_实践中开发人员的工作流程-我们如何在30天内建立​​MVP

    ios开发 mvp实践 by Léna Faure 莱娜·福雷(LénaFaure) 实践中开发人员的工作流程-我们如何在30天内建立​​MVP (The developer's workflow i ...

  4. 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人

    机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...

  5. 【转】十大30秒内即可理解的科学理论

    十大30秒内即可理解的科学理论:量子场论上榜 http://www.sina.com.cn  2010年06月29日 11:30  新浪科技 新浪科技讯 北京时间6月29日消息, 据英国媒体报道,从量 ...

  6. DeepMind推出首个商业产品,30秒内准确诊断眼疾!

    来源:Financial Times.智东西编译 摘要:这个设备能像最好的医学专家一样,准确地诊断各种眼部疾病. 4月1日,谷歌母公司Alphabet旗下位于伦敦的AI部门DeepMind已打造出了可 ...

  7. 华为Mate20首支预告片爆出,30秒内包含太多黑科技

    10月16日华为将在伦敦发布华为Mate20系列手机,对于这款手机很多人都充满了期待,因为它将首发搭载麒麟980芯片,这是全球首款商用的7nm芯片,带来的性能和AI方面的提升都是非常大的. 9月25日 ...

  8. 第十一期:30秒内便能学会的30个实用Python代码片段

    许多人在数据科学.机器学习.web开发.脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言. Python流行的部分原因在于简单易学. 本文将简要介绍30个简短的.且能在30秒内掌握 ...

  9. 请使用recaptcha_如何在30分钟内使用ReCaptcha和PHP构建Bootstrap电子邮件表单

    请使用recaptcha by Ondrej Svestka 通过Ondrej Svestka 如何在30分钟内使用ReCaptcha和PHP构建Bootstrap电子邮件表单 (How to bui ...

  10. 广东湛江3.6级地震,环境猫30秒内完成速报推送!

    3月5日12时49分,广东湛江市雷州市(北纬20.68°,东经110.03°)发生3.6级地震,震源深度13千米,海口网友反馈震感明显.在广东地震局部署的环境猫(地震版)30秒内推送了速报信息. 环境 ...

最新文章

  1. mysql 5.7 收费_MySQL5.7 常用用户操作
  2. 通过minify将项目中js和css文件的打包
  3. ORA-00257: archiver error. Connect internal only, until freed
  4. python ConfigParser 小试
  5. Windows 7 提示AtBroke.exe初始化失败
  6. 上海哪个图书馆营业时间最长
  7. CF 1642 F. Two Arrays 随机 + sosdp
  8. linux下安装pm2
  9. java---sychronized的深入理解
  10. mysql setup w_MySql的安装及配置详细指引!
  11. docker 容器安装conposer_docker和php:将依赖项(composer)放入容器中
  12. 设置内核的运行环境之隔离的应用程序
  13. TwinCAT3入门教程4-伺服常用功能程序实现
  14. 《企业架构的数字化转型》10000字有感
  15. easyui酷黑风格主题模板组件html
  16. 微信小程序中使用tabBar
  17. 并发队列中迭代器弱一致性原理探究
  18. 圣彼得堡三大教堂_2020年9大最佳教堂网站建设者(适合初学者)
  19. httprunner 3.x学习10 - parameters 参数化
  20. crucible-4.8.2更改mysql5.7数据库报错User ‘crucible‘ has exceeded the ‘max_questions‘ resource

热门文章

  1. 高并发系统负载均衡与实时监控的实用方案
  2. 夜神与android链接,夜神安卓模拟器连接adb的方法步骤
  3. MSDN,我告诉你——一个很棒的工具站
  4. MSDN资源下载网站源码
  5. steamcommunity 本地 443端口被占用解决方案
  6. Ubuntu系统中各文件夹的作用
  7. 群论基础速成(3):拉格朗日定理、直积与半直积
  8. 大数据之足球盘口赔率凯利必发数据采集爬虫
  9. swagger设置字段required必填
  10. CADD课程学习(13)-- 研究蛋白小分子动态相互作用-II(水中的溶菌酶 GROMACS)