
題目概覽
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