← 返回部落格列表 HRT OA 編程真題與解法:滑動視窗 + 前綴和 + 堆
Hudson River Trading

HRT OA 編程真題與解法:滑動視窗 + 前綴和 + 堆

2026-06-12

Hudson River Trading(HRT)是頂尖量化交易公司,OA 通常在 CodeSignal 上完成,編程題難度中上、卡時間。這篇按 oavoservice 學員的 HRT OA 複盤,挑三道高頻編程題講清思路、解法和複雜度,並附 OA代面 / OA輔助 的對接路徑,給正在量化求職、刷題備考的同學一個實戰參考。


一、HRT OA 概覽

維度 詳情
平台 CodeSignal(通用編碼評估)
時長 約 70–90 分鐘
題量 3–4 題,難度遞增
語言 Python / C++ / Java 自選
考察 資料結構、演算法、邊界處理、時間管理

HRT 的 OA 偏工程實作 + 演算法,最後一題往往中上難度,需要在限時內寫出能過全部隱藏用例的穩定程式碼。

二、題一:和不超過 K 的最長子陣列(滑動視窗)

題目

給非負整數陣列 nums 和上限 k,求和不超過 k 的最長連續子陣列長度。

思路

全為非負 → 視窗和單調,可用滑動視窗:右指針擴張累加,超過 k 時左指針收縮,過程中記錄最大長度。

def longest_subarray_at_most_k(nums, k):
    left = 0
    cur = 0
    best = 0
    for right, x in enumerate(nums):
        cur += x
        while cur > k and left <= right:   # 收縮到合法
            cur -= nums[left]
            left += 1
        best = max(best, right - left + 1)
    return best

時間複雜度:O(n)(每元素進出視窗各一次)。空間複雜度:O(1)。

三、題二:多次區間求和查詢(前綴和)

題目

給陣列 nums 和多個查詢 (l, r),每次回傳區間 [l, r] 的和。

思路

預處理前綴和陣列,單次查詢 O(1)。適合查詢次數遠多於陣列長度的場景。

def range_sum(nums, queries):
    n = len(nums)
    prefix = [0] * (n + 1)
    for i, x in enumerate(nums):
        prefix[i + 1] = prefix[i] + x
    return [prefix[r + 1] - prefix[l] for l, r in queries]

時間複雜度:預處理 O(n),每查詢 O(1)。空間複雜度:O(n)。

四、題三:資料流中的第 K 大(最小堆)

題目

設計一個類別,持續加入數字,隨時回傳當前第 k 大的元素。

思路

維護大小為 k最小堆:堆頂就是第 k 大。新元素若大於堆頂則替換,保證堆裡始終是最大的 k 個。

import heapq

class KthLargest:
    def __init__(self, k, nums):
        self.k = k
        self.heap = nums[:]
        heapq.heapify(self.heap)
        while len(self.heap) > k:
            heapq.heappop(self.heap)

    def add(self, val):
        heapq.heappush(self.heap, val)
        if len(self.heap) > self.k:
            heapq.heappop(self.heap)
        return self.heap[0]            # 堆頂 = 第 k 大

時間複雜度:每次 add 為 O(log k)。空間複雜度:O(k)。

五、CodeSignal 平台要點


FAQ

Q1:HRT OA 難度如何?

整體中上,前兩題中等、最後一題偏難,且卡時間。比一般大廠 OA 更看重邊界完整和執行效率,適合刷過 LeetCode 中等-中上的求職者。

Q2:HRT OA 用什麼平台、時長多少?

通常在 CodeSignal 上,約 70–90 分鐘,3–4 題難度遞增,支援 Python / C++ / Java。

Q3:哪些操作會被判異常?

切屏、複製外部程式碼、長時間無操作都可能被行為監控標記。保持在答題頁內、自己手寫,是最穩的做法。

Q4:怎麼高效準備?

按滑動視窗 / 前綴和 / 堆 / 雜湊分塊刷題,每類做 5–8 道並限時。如需限時 mock 與逐題講解,可走 OA代面 / OA輔助 路徑客製。


正在準備 HRT OA?

HRT OA 卡時間、看邊界。oavoservice 提供 HRT 全流程陪練:滑動視窗 / 前綴和 / 堆 / 資料流高頻題限時模擬,CodeSignal 環境與行為監控注意事項講解,按量化職題型做預測。教練含量化與大廠背景資深工程師,支援 OA代面 / OA輔助 全程對接。

立即加入微信 Coding0201獲取 HRT 真題與陪練

聯絡方式