我最近接受了微软的采访,他们问我以下谜题,我必须编写一个算法并附带测试用例。我无法破解它,这对我来说仍然是一个难题。
问题陈述:
香槟金字塔是一个由香槟杯制成的金字塔,每个都有相同的容量,n。 金字塔的开头是顶层的一个玻璃杯,第二层的两个玻璃杯,然后是三个以下的玻璃杯,依此类推,直到无限级。因此,金字塔的等级x具有x个。香槟杯。
从顶层倾泻出源源不断的香槟,涓涓细流到较低的水平。在特定级别的眼镜中香槟的分布是什么?
问题非常抽象,这些都是我给出的所有投入。
答案 0 :(得分:10)
答案是Normal Distribution我相信。
看一下图表:
|1|
---
|2| |3|
--- ---
|4| |5| |6|
--- --- ---
|7| |8| |9| |10|
--- --- --- ----
假设您有一个X
的流程 1将均匀地流入2,3,因此每个得到1 / 2X
每个都会均匀地流到它下面的眼镜,所以4得到1 / 4X,6得1 / 4X,5得到2 * 1 / 4X = 1 / 2X
在下一级 - 适用同样的原则:
7 gets 1/8X
8 gets 1/8X from 4 and 1/4X from 5, totaling 3/8X,
9 gets same as 8 and 10 same as 8.
在无限远处 - 它应该收敛到正态分布。
在任何有限数字i
- 它应该是f(i,n)/ 2^(i-1)
,其中f(i,n)
是n
i
级flow(i)~Bin(i-1,1/2)
多项式。正如@veredmarald在评论中指出的那样,对于p = 1/2,该分布函数实际为binomial number,从而为您提供{{1}}
答案 1 :(得分:1)
我相信分布是均匀的,即使香槟的流动遵循二项分布,在无穷远处接近正态分布。
玻璃尺寸有限。