g*******s 发帖数: 2963 | 1 (1) Write a program that would randomly populate the area of a square, with
even distribution.
(2) Then change the program to populate a circle within that square,
主要是这个2D even distribution怎么理解呢? 就是相当于分成很多小正方形么? |
z*******3 发帖数: 13709 | |
z*******3 发帖数: 13709 | 3 这题跟其他random题一样,需要给一个随机函数
否则必死,你要能写出伪随机函数,那就是图灵奖的水平
然后就是x和y坐标
第一题好办
第二题是考点
计算所得到的x和y离圆心的距离
大于半径的抛掉重算
这样就可以保证平均分布了
cs的统计题考来考去就考丢掉重算
很简单粗暴的说 |
d******e 发帖数: 7844 | 4 第二题不需要扔掉重算,使用极坐标,用0到360的均匀分布来生称角度。
半径先用0到1的均匀分布生成,但是需要额外开个方就搞定了。
用暴力来做只能说明这个candidate没什么统计的sense。
【在 z*******3 的大作中提到】 : 这题跟其他random题一样,需要给一个随机函数 : 否则必死,你要能写出伪随机函数,那就是图灵奖的水平 : 然后就是x和y坐标 : 第一题好办 : 第二题是考点 : 计算所得到的x和y离圆心的距离 : 大于半径的抛掉重算 : 这样就可以保证平均分布了 : cs的统计题考来考去就考丢掉重算 : 很简单粗暴的说
|
z*******3 发帖数: 13709 | 5 用极坐标代码写起来太麻烦
这个需要编程的sense
【在 d******e 的大作中提到】 : 第二题不需要扔掉重算,使用极坐标,用0到360的均匀分布来生称角度。 : 半径先用0到1的均匀分布生成,但是需要额外开个方就搞定了。 : 用暴力来做只能说明这个candidate没什么统计的sense。
|
d******e 发帖数: 7844 | 6 极坐标变化有毛难写的,多一步sin和cos变换就搞定了。
说你不知道怎么做得了,屁编程sense。
连点基本的概率都玩不明白,还敢号称学CS的?
【在 z*******3 的大作中提到】 : 用极坐标代码写起来太麻烦 : 这个需要编程的sense
|
l***8 发帖数: 149 | 7 极坐标+半径开方是正解!
【在 d******e 的大作中提到】 : 第二题不需要扔掉重算,使用极坐标,用0到360的均匀分布来生称角度。 : 半径先用0到1的均匀分布生成,但是需要额外开个方就搞定了。 : 用暴力来做只能说明这个candidate没什么统计的sense。
|
P***t 发帖数: 1006 | 8 极坐标不一定能够做到均匀分布,相对于像素点。
去除法并不增加算法复杂度。 |
f*******w 发帖数: 1243 | 9
极坐标,角度均匀分布,半径均匀分布开方,肯定是在圆内均匀分布啊,什么叫不一定?
【在 P***t 的大作中提到】 : 极坐标不一定能够做到均匀分布,相对于像素点。 : 去除法并不增加算法复杂度。
|
P***t 发帖数: 1006 | 10 你给个具体的计算公式,然后不用RANDOM数,就直接 Go through 0-360度,半径0->R
,试试看有没有重复GENERATE的点。
当然这道题也要看出题人到底想要什么样的结果。
另外从计算的角度看,SIN/COS 效率多半没有直接平方高。所以总的复杂度差不多。
定?
【在 f*******w 的大作中提到】 : : 极坐标,角度均匀分布,半径均匀分布开方,肯定是在圆内均匀分布啊,什么叫不一定?
|
l***8 发帖数: 149 | 11 what is "重复GENERATE的点"?
you'll never generate identical points. there are infinitely many points in
a circle.
R
【在 P***t 的大作中提到】 : 你给个具体的计算公式,然后不用RANDOM数,就直接 Go through 0-360度,半径0->R : ,试试看有没有重复GENERATE的点。 : 当然这道题也要看出题人到底想要什么样的结果。 : 另外从计算的角度看,SIN/COS 效率多半没有直接平方高。所以总的复杂度差不多。 : : 定?
|
P***t 发帖数: 1006 | 12 I said it depends on what the interviewer wants. If he wants to fill a
square/circle, it's mostly some pixel grids in Computer Science. This is a
CS interview, not a math interview, right?
in
【在 l***8 的大作中提到】 : what is "重复GENERATE的点"? : you'll never generate identical points. there are infinitely many points in : a circle. : : R
|
u*****y 发帖数: 196 | 13 就先把任意一个图形里面的像素点排个队报个数,然后选个0-1的随机数乘以总像素点
数,然后再对应到里面相应的点。
不是学cs的,也就懂这些了 |