← 返回博客列表 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 真题与陪练

联系方式