Hulu笔试题:直线和折线切分平面问题及解答

进修社 人气:5.6K

昨天听师姐说了一道Hulu的.笔试题:N条直线最多将平面划分为多少区域,如果换成折线,又是多少?

Hulu笔试题:直线和折线切分平面问题及解答

参考《编程之美》1.7节“光影切割问题”,下面是我的解答:

由上图可知:

两条直线最多一个交点,将平面分成了4个区域;

三条直线最多三个交点,将平面分成了7个区域;

可以推出:

每增加一条直线,如果增加m个交点,那么这条直线被新增加的m个交点,分成(m+1)段。每一段又会将原来的一个区域分成两块,因此,新增加了(m+1)个新区域。增加第N+1条直线时,最多与前面N条直线全部相交,增加n个交点。因此,最多增加n+1个区域。由此可得递推式: