b******i 发帖数: 914 | 1 以前Google的题:
[Google] 一个游戏,叫做“生或死” a.k.a. Game of Life,在一个棋盘上,规则如下:
每格有两种状 态:生,或者死
每一轮,如果有少于两个邻居是活着的,这格就死掉 如果刚好有两个邻居活着,这格保持
原有状态 如果有三个邻居或者,这格可以重生,就是如果原来是死的,现在活过来了 如
果有三个以上邻居,这格就被挤死了
请问这题一般是考啥,啥意思啊?望达人相告 | L*****1 发帖数: 34 | 2 mark
能不能有个大神给一个面试中比较available的优化解法。 | s***c 发帖数: 639 | 3 用三四行memory?一大片死的就跳过不算?还有啥?
【在 b******i 的大作中提到】 : 以前Google的题: : [Google] 一个游戏,叫做“生或死” a.k.a. Game of Life,在一个棋盘上,规则如下: : 每格有两种状 态:生,或者死 : 每一轮,如果有少于两个邻居是活着的,这格就死掉 如果刚好有两个邻居活着,这格保持 : 原有状态 如果有三个邻居或者,这格可以重生,就是如果原来是死的,现在活过来了 如 : 果有三个以上邻居,这格就被挤死了 : 请问这题一般是考啥,啥意思啊?望达人相告
| b******i 发帖数: 914 | 4 什么意思?能不能展开来说说?
【在 s***c 的大作中提到】 : 用三四行memory?一大片死的就跳过不算?还有啥?
| s***c 发帖数: 639 | 5 没必要另开一个大矩阵来更新,几行buffer就够了;
如果一大片都死的,可以跳过没必要再算,考虑拆成块之类的?
别的还没想到,楼下还有补充的
【在 b******i 的大作中提到】 : 什么意思?能不能展开来说说?
| A*****i 发帖数: 3587 | 6 这是很多面向对象设计课程第一节课的例子
这题本来就没有什么高深牛逼的算法,就是个顺序迭代而已 | L*****1 发帖数: 34 | 7 求问如何跳过死区?
【在 s***c 的大作中提到】 : 没必要另开一个大矩阵来更新,几行buffer就够了; : 如果一大片都死的,可以跳过没必要再算,考虑拆成块之类的? : 别的还没想到,楼下还有补充的
| j********x 发帖数: 2330 | 8 索引活的点
更新状态只需要考虑活的点和他们的直接相邻的点
基本上很简单的题目
但是可以写得很漂亮
也可以写得很丑
这题考新手很好
考老手就太简单了 | L*****1 发帖数: 34 | 9 大牛能说具体点嘛?
索引活的点,那意思是类似sparse vector那样每一行用一个list只记录活的点和位置
?具体怎么操作呢?谢谢
【在 j********x 的大作中提到】 : 索引活的点 : 更新状态只需要考虑活的点和他们的直接相邻的点 : 基本上很简单的题目 : 但是可以写得很漂亮 : 也可以写得很丑 : 这题考新手很好 : 考老手就太简单了
| x*****a 发帖数: 610 | | j********x 发帖数: 2330 | 11 用坐标直接做key
你这种就是写出来很丑的那一种
【在 L*****1 的大作中提到】 : 大牛能说具体点嘛? : 索引活的点,那意思是类似sparse vector那样每一行用一个list只记录活的点和位置 : ?具体怎么操作呢?谢谢
|
|