
题目概览
MCC OA主要以Code为主,MCC 近期批量发放 OA,约需 90 分钟完成,包含三道算法题:
- 数组归约(Array Reduction): 使用最小代价合并元素至单一值。
- 连接组(Connected Groups): 统计社交矩阵中互相连通的群组数。
- 建墙计数(Build a Wall): 宽度为 2 或 3 的砖块组合,统计满足错缝条件的建墙方案数。
关键思路
- 数组归约:贪心 + 最小堆优先合并最小元素。
- 连接组:DFS/并查集遍历连通分量。
- 建墙计数:动态规划生成所有单层缝隙布局,再对多层做无缝对接计数。
代码示例(Python)
import heapq
def reductionCost(nums):
heapq.heapify(nums)
cost = 0
while len(nums) > 1:
a = heapq.heappop(nums)
b = heapq.heappop(nums)
cost += a + b
heapq.heappush(nums, a + b)
return cost
结语
十几分钟内解决三题,如果需要 OA 辅导或面试代练服务,请联系我们。
END