腾讯视频面试-二面

code4lala发布于2019/03/28 23:30

先自我介绍啥的聊聊。

然后两道题,看到题目完全懵逼,算上前边自我介绍聊天半个小时多点就结束了,因为都不会。

题目1

一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜。已知驴一次性可驮1000根胡萝卜,但每走1公里驴要吃掉1根胡萝卜。问:商人最多可卖出多少胡萝卜?

尝试搜索解题搜到一样的题目

你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?

A0ZWWt.png

的最大值。

其实可以直接让B点正好剩2车,即2000资源,到C点正好剩1车,即1000资源,此时就是最优解。

题目2

一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却看不到自己的。主持人先让大家看看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?

百度知道上的答案

这有点数学归纳法的意思。

假设只有1顶黑帽,那第一次关灯时戴黑帽子的人看到所有人都戴白帽,并且至少有一顶黑帽子,所以他知道自己戴黑帽,第一次就拍手(打耳光?)。

假设有2顶黑帽子,第一次关灯的时候,黑帽A看到有一个人带黑帽,所以不确定自己是否戴黑帽,黑帽B也如此,第二次关灯时,黑帽A知道黑帽B眼里有人戴黑帽子,正因如此第一次的时候黑帽B才没拍手,所以黑帽A知道存在第二顶黑帽,就在自己头上,于是拍手。

假设有3顶帽子,黑帽C看到有2顶黑帽,他想如果只有2顶,那么在第二次关灯的时候就会有人拍手(上面证明过),所以第二次关灯后没人拍手导致黑帽C知道不只2顶黑帽,第3顶在自己头上。站在黑帽A和B 的立场也一样,三人会同时在第三次关灯时拍手。

以此类推,在第几次关灯是拍手,就说明有几顶黑帽