BB牙已拔(照片在二楼)# pets - 心有所宠
m*n
1 楼
找出maximum adjacent subsequence length in 2-dimensional matrics (M=n*n).
for example, 下面这个最大的长度是4, 因为8的周围4个数是连着的:2,3,4,5.
数字没有重复的。
1 3 6 7
2 8 5 10
9 4 11 12
13 14 15 16
数字要一个接一个。2,3,4,5就是连接着的。就是找一个数的adjacent elements,
然后看这些adjacent elements有几个相邻的。比如数字8的adjacent elements就是2,3
,4,5(上下左右),然后这些数连着的数字就是4个,所以长度是4.
比如4的adjacent elements就是8,9,11,14,然后连着的数字就是8和9,所以长度是2.
我直接用brute force. 开销O(M*L*Log(L)),L的范围是1<=L<=4(因为每个相邻节点最多
是4个),所以就忽略为O(M)。计算每个点的周围节点,然后把这些节点排序,当然也可
以用其它的来算出是不是连着的。
代码有点点问题,没写完,被叫停,但框架出来了,稍微修改修改就可以。也没叫我优
化,可以没给我任何暗示,没说我的方法哪里不好。开始问我怎么做,然后我说了,然
后叫我计算时间开销,我也一步一步说解释。最后开始代码(框架出来,代码有点点小
问题),然后被叫停说没时间。。面试官是个印度的人。感觉不太友好,要赶时间回去
上班。没什么说的,碰到不太喜欢你的面试官也没办法。可能我开始的思路就和他不对
路,但是我感觉应该给点提示如果不对的话,我不是一开始就写代码的。
嗨,move on了。祝大家好运
for example, 下面这个最大的长度是4, 因为8的周围4个数是连着的:2,3,4,5.
数字没有重复的。
1 3 6 7
2 8 5 10
9 4 11 12
13 14 15 16
数字要一个接一个。2,3,4,5就是连接着的。就是找一个数的adjacent elements,
然后看这些adjacent elements有几个相邻的。比如数字8的adjacent elements就是2,3
,4,5(上下左右),然后这些数连着的数字就是4个,所以长度是4.
比如4的adjacent elements就是8,9,11,14,然后连着的数字就是8和9,所以长度是2.
我直接用brute force. 开销O(M*L*Log(L)),L的范围是1<=L<=4(因为每个相邻节点最多
是4个),所以就忽略为O(M)。计算每个点的周围节点,然后把这些节点排序,当然也可
以用其它的来算出是不是连着的。
代码有点点问题,没写完,被叫停,但框架出来了,稍微修改修改就可以。也没叫我优
化,可以没给我任何暗示,没说我的方法哪里不好。开始问我怎么做,然后我说了,然
后叫我计算时间开销,我也一步一步说解释。最后开始代码(框架出来,代码有点点小
问题),然后被叫停说没时间。。面试官是个印度的人。感觉不太友好,要赶时间回去
上班。没什么说的,碰到不太喜欢你的面试官也没办法。可能我开始的思路就和他不对
路,但是我感觉应该给点提示如果不对的话,我不是一开始就写代码的。
嗨,move on了。祝大家好运