面试
腾讯
手机QQ
1.一个箱子里有100个彩球,两个人去取球,最少要取1个,最多取5个.如果甲先取,第一次取几个,那最后一个甲一定能取到?
答:甲先拿4个,然后以乙开始,每一轮(乙和甲各拿一次)都拿6个,例如乙拿4个,甲就拿2个,如此类推,倒数第二轮到乙拿之前,一共拿走了94个,这时无论乙拿1~5个,甲都可以拿到最后一个
2.一根棍子上面有无数只蚂蚁,假设两只蚂蚁碰到之后就会180度调头反向前进,碰到,再调头,直到棍子的某一头,然后掉下来;然后再假设1只蚂蚁从棍子的这头到那头一共需要5分钟,那么问题是:需要多少时间,这根棍子上所有的蚂蚁会掉下来?
答:每次两只蚂蚁相遇各自掉头,其实可以等价于这两只蚂蚁各自向前,也就是让这两只蚂蚁互换任务。这样所有的蚂蚁就可以视为“各行其道”了。 问题一下明朗了,所需要的时间就是走到掉下去花时间最长的蚂蚁,其上限即在一端的蚂蚁爬到另一端的时间,也就是题中的5分钟。
2017-03-
可重入,即可预测的,输入相同数据产生相同输出。