2025 MCC OA | 千禧年OA | Millennium Challenge Corporation OA

2,980Views
2025 MCC OA | 千禧年OA | Millennium Challenge Corporation OA

題目概覽

MCC OA主要以Code為主,MCC 近期批量發放 OA,約 90 分鐘完成,包含三題演算法:

  1. 數組歸約(Array Reduction): 使用最小代價合併元素至單一值。
  2. 連接組(Connected Groups): 統計社交矩陣中互相連結的群組數。
  3. 建牆計數(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 輔導或面試代練服務,請聯絡我們

author avatar
Alex Ma Staff Software Engineer
目前任職於Google,10餘年開發經驗,目前擔任Senior Solution Architect職位,北大電腦本碩,擅長各種演算法、Java、C++等程式語言。在學校期間多次參加ACM、天池大數據等多場比賽,擁有多場頂級paper、專利等。
END
 0