算法 据说 这是当年微软招聘人才时出的题目。

64 篇文章 2 订阅
8 篇文章 0 订阅

开场白:我以为只有广州才有大量的公司有,2刀切金条,7天分给员工的笔试题 , 每次遇到都会骂几变娘,可笑,老板会给你分金条。没想到上海也遍地都是。 据说:这是当年微软招聘人才时出的题目!https://blog.csdn.net/qq_43264029/article/details/107270544](https://img-blog.csdnimg.cn/20210415233429243.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NhbzkxOQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210415233349357.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NhbzkxOQ==,size_16,color_FFFFFF,t_70)

二:思路
1.既然每天要给工人的报酬是要一样的,一共7天,那么每天的报酬就是金条的1/7
对半切,再对半切,最多也只有4等分,所以均分切是不可行的。
2.那么我们就可以把金条看成是数字7。
3.可以切2刀,切成3份,分别占1/7、2/7、4/7
在这里插入图片描述
三:具体分配
1.第一天拿出1/7给工人,自己还剩:2/7+4/7=6/7
2.第二天拿出2/7给工人,要回第一天的1/7,自己还剩:4/7+1/7=5/7
3.第三天拿出第二天要回来的1/7给工人,自己还剩4/7
4.第四天要回之前的3/7,给工人4/7,自己还剩3/7
5.第五天给工人1/7,自己还剩2/7
6.第六天把2/7给工人,要回1/7,自己还剩1/7
7.第七天把最后的1/7给工人,工资结清了

下一题

来都来了看个更难点的附加题吧。
1000桶水,其中一桶有毒,猪喝毒水后会在15分钟内死去,想用一个小时找到这桶毒水,至少需要几头猪?
限制条件:
1.一滴毒水足以导致一头猪的死亡。死亡时间为15分钟内不确定的某个时间点。
2.其死亡只是毒水导致的,不会有其他因素导致死亡。
3.猪的承水量无穷大,且假设饮一桶花费时间为零。


答案分割线

猪好惨。信息论没学好的少年一进酒店,大伙儿便看着他笑,有的人叫到:少年,你用四头猪还是没找到毒药吧!少年涨红了脸,额上青筋条条绽出,一拍胸口争辩道:这儿还有一头。
用信息论的方法求出至少是5,其他各种想找出5头猪以下的人可以省点力气。在1000桶水中找一桶水,需要的信息量是-log(1/1000)。而一头猪所能提供的信息是它在什么时间死,因此能提供的信息量是-log(1/5)。4头猪能提供的信息量是-4log(1/5)=-log(1/625),不够。5头猪能提供的信息量是-log(1/3125),刚好够。至于用什么信息编码方式就见仁见智了,楼上有的回答就很好。这里只是严谨地证明一下“至少”。
一头猪一个小时内最多可以喝四次水,所以分四段,第一第二第三第四段时间死,以及不死。
一头猪的信息量为log(1/5)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
高层扔鸡蛋
年微软招聘人才时出的题

在这里插入图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云草桑

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

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

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

打赏作者

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

抵扣说明:

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

余额充值