最近刚刷完 Snowflake New Grad OA ,一句话总结:题量 3 道、120 分钟,难度中等偏高,时间压力明显。Snowflake OA 的风格和传统大厂不太一样,更注重DP、字符串处理、任务调度和工程优化,很多题是 LeetCode Medium-Hard 的变体或需要较强的建模能力。
平台是 HackerRank,整体对时间复杂度和边界处理要求较高。下面分享 2026 年最新实战高频题型和我的速通体验。

题目 1 数组分段排序合规性统计
题目描述
给定一个包含 N 个整数的数组 A。你可以将数组拆分为两个非空部分:左部分(left)和右部分(right),分别对两部分的元素独立排序,再将它们重新拼接在一起。
例如,给定数组 A = [1, 3, 2, 4],有以下 3 种拆分方式:
- 左 = [1],右 = [3, 2, 4]:分别排序后拼接得到 [1, 2, 3, 4]
- 左 = [1, 3],右 = [2, 4]:分别排序后拼接得到 [1, 3, 2, 4]
- 左 = [1, 3, 2],右 = [4]:分别排序后拼接得到 [1, 2, 3, 4]
你的任务是:统计有多少种拆分方式,使得两部分分别排序、重新拼接后,最终数组是非递减有序 ** 的。
对于上面的示例,答案是 2:第 1 种和第 3 种拆分方式最终得到了有序数组。
题目 2 单元素符号翻转最小化绝对和
题目描述
给定一个包含 N 个整数的数组 A。你可以选择最多一个元素,将其乘以 -1,目标是让数组所有元素的和尽可能接近 0(即让和的绝对值最小)。
请编写函数:int solution(vector<int> &A);
该函数接收数组 A,返回通过上述操作能得到的最小的和的绝对值。
示例
- 对于 A = [1, 3, 2, 5]:将最后一个元素乘以 -1,数组变为 [1, 3, 2, -5],和为 1,这是能得到的最接近 0 的结果,函数返回 1。
- 对于 A = [-4, 0, -3, -3]:将 -4 乘以 -1,数组变为 [4, 0, -3, -3],和为 -2,绝对值为 2,函数返回 2。
- 对于 A = [4, -3, 5, -7]:原数组和为 -1,无需修改任何元素,函数返回 1。
题目 3 平衡括号序列最大效率评分
题目描述
用户拥有一个名为「括号完美工具包(Parentheses Perfection Kit)」的工具,其中包含不同类型的括号,每个括号都有一个特定的效率评分。
目标是:通过向初始序列中添加0 个或多个工具包中未使用的括号,构造一个平衡的括号序列,并最大化该序列的总效率评分(EfficiencyScore),总评分等于所有使用的括号的效率评分之和。
平衡括号的定义
一个序列是平衡的,当且仅当:
- 左括号
(和右括号)的数量相等; - 每个左括号都有一个正确顺序匹配的右括号(即不能出现循环匹配)。例如:
()、0(空串)、(()())是平衡的;)(、(()、())不是平衡的。
输入说明
- 初始括号序列:字符串
s - 工具包中的括号:字符串
kitParentheses - 对应每个括号的效率评分:数组
efficiencyRatings(长度均为m) - 初始序列的总效率评分初始为 0,你可以使用工具包中任意数量的未使用括号,只要最终序列是平衡的。
任务
求最终平衡序列能达到的最大可能的总效率评分。
注:题目保证一定可以通过添加 0 个或多个工具包中的括号,将初始序列变为平衡的。
示例
输入:
s = ")("kitParentheses = ")()())"m = 6efficiencyRatings = [3, 4, 2, -4, -1, -3]
工具包中的括号及对应评分:
| 类型 | ) |
( |
( |
) |
) |
) |
|---|---|---|---|---|---|---|
| 评分 | 3 | 4 | 2 | -4 | -1 | -3 |
添加括号的最优方案:
| 添加的括号索引 | 新序列 | 总效率评分 |
|---|---|---|
| 1 | ()( |
0 + 4 = 4 |
| 0 | ()() |
4 + 3 = 7 |
| 4 | ()()) |
7 + (-1) = 6 |
最终平衡序列的最大总效率评分为 6,不存在更高的组合。
函数要求
完成函数 findMaxEfficiencyScore:
- 参数:
string s:初始括号序列string kitParentheses:工具包中的括号int efficiencyRatings[m]:每个括号对应的效率评分
- 返回:
long类型,最终平衡序列的最大可能总效率评分
约束:1 ≤ |s| < 2 * 10^5
Snowflake 2026 OA 备考建议
如果你正在准备 Snowflake 2026 OA,时间安排非常关键。
如果时间比较充足,建议自己系统刷题 + 多做几次全真模拟,把节奏和手感练稳; 如果时间比较紧,或者同时在投很多公司,其实没必要盲目刷题,而是要有策略地准备。
很多人不是不会做题,而是卡在时间不够、debug 耗时、最后一题没优化完这几点上。
尤其是以下几种情况: 刚开始准备、题感还不稳定;时间很赶;或者经常出现“会写但总是过不了 test case”……
这种时候,可以考虑 Programhelp 的专业 OA 助攻服务,提供 OA 代写(支持 HackerRank 等平台,确保所有测试用例 100% 通过,不通过不收费),以及实时思路引导和全流程包过方案。很多同学通过他们的针对性辅导,顺利拿下了 Snowflake Offer。