小编Aja*_*jay的帖子

微软技术专访:Matrix Algorithm

我最近接受了一次采访,面试官给了我一些假代码并询问了与之相关的问题.不幸的是,由于缺乏准备,我无法回答他的问题.由于时间限制,我不能问他解决这个问题的方法.如果有人能指导我并帮助我理解这个问题,我会非常感激,所以我可以为将来做些改进.下面是伪代码:

A sample state of ‘a’: 
[[   2, NULL,    2, NULL], 
 [   2, NULL,    2, NULL], 
 [NULL, NULL, NULL, NULL], 
 [NULL, NULL, NULL, NULL]]

FUNCTION foo()
  FOR y = 0 to 3 
    FOR x = 0 to 3
      IF a[x+1][y] != NULL
        IF a[x+1][y] = a[x][y]:
          a[x][y] := a[x][y]*2
          a[x+1][y] := NULL
        END IF
        IF a[x][y] = NULL
          a[x][y] := a[x+1][y]
          a[x+1][y] := NULL
        END IF
      END IF
    END FOR
  END FOR
END FUNCTION
Run Code Online (Sandbox Code Playgroud)

面试官问我:

  1. 上面的代码有什么问题,我该如何解决?

  2. 一旦纠正,函数foo做什么?请关注功能的结果,而不是实现的细节.

  3. 你怎么能让foo变得更通用?解释最多三个可能的泛化方向,并为每个方向描述一个策略,无需编写代码!

我向他提到过:

  • 矩阵的状态看起来不正确,因为整数矩阵不能具有空值.默认情况下 …

algorithm pseudocode matrix

0
推荐指数
1
解决办法
1982
查看次数

标签 统计

algorithm ×1

matrix ×1

pseudocode ×1