WeRide OA 2026 | 我刚刷完的文远知行 HackerRank 真实题目分享

15 Views
No Comment

WeRide OA 给我留下了挺深的印象。90 分钟 3 道题,时间卡得非常紧,后来在 Programhelp 的帮助下,才在正式 OA 中比较从容地完成了前两题全 AC,第三题也拿到了大部分分数,最终顺利通过。下面是我这次 WeRide OA 面经 的完整分享,包括真实遇到的题目类型、解题思路和备战心得,希望能给正在准备 WeRide 2026 的同学一些参考和帮助。

WeRide OA 2026 | 我刚刷完的文远知行 HackerRank 真实题目分享

WeRide OA 整体情况

  • Platform:HackerRank
  • Duration:通常 90 分钟
  • Question volume:3 道 Coding 题(难度 Medium 为主,第三题偏难)
  • 通过关键:至少 2 题 Full AC(所有测试用例通过),第 3 题尽量多拿分
  • : The amount of questions is not large, but the amount of calculation is large. It is recommended to bring paper, pen and calculator.:题目偏工程实用,考察字符串处理、数组操作、DP 和贪心较多,时间紧迫,对代码效率和边缘 case 处理要求较高

WeRide OA 整体难度中等偏难,尤其是时间压力大,很多同学反映第三题容易超时或边界处理出错。

题目一:幂数统计

Question description

定义幂数为可表示为两个幂之和的整数,形式为: x = a^p + b^q In:

  • a, b, p, q 均为整数;
  • a, b ≥ 0;
  • p, q > 1。

请计算区间 [l, r] 内(包含 l 和 r)的幂数个数。

Example l = 20,r = 25 时,幂数为:

  • 20 = 2² + 4²
  • 24 = 2³ + 4²
  • 25 = 3² + 4² 共 3 个幂数。

Function description

int countPowerNumbers(int l, int r)

Return value:区间 [l, r] 内幂数的数量。

Constraints

  • 0 ≤ l ≤ r ≤ 5×10⁶

自定义测试输入格式 第一行:l 第二行:r

样例输入 0

0
1

样例输出 0

2

Explain:0 和 1 均为幂数(0=0²+0²,1=0²+1²)。

Problem-solving ideas

预先生成所有可能的完美幂(perfect power):指数从 2 到 ~40,基数 a 从 0 开始,直到 a^p 超过 r,存入集合去重。 然后双重循环枚举任意两个幂的和(包括相同幂),将所有和值放入另一个集合去重。最后统计该集合中落在 [l, r] 内的元素个数即可。 (生成法远优于逐数验证,适合 r≤5e6。)

题目二:字母差

Question description

给定两个字符串数组 a 和 b,对于每一对 a[i] 和 b[i]:

  • 如果长度不同,返回 -1;
  • 如果长度相同,计算使两个字符串成为变位词(Anagram)所需修改的最少字符数。

Example a = [“tea”, “tea”, “act”] b = [“ate”, “toe”, “acts”] 结果:[0, 1, -1]

Function description

int[] getMinimumDifference(String[] a, String[] b)

Return value:长度为 n 的整数数组,对应每对字符串的修改次数(或 -1)。

Constraints

  • 字符串仅包含小写字母 ‘a’~’z’;
  • 1 ≤ n ≤ 100;
  • 0 ≤ |a[i]|, |b[i]| ≤ 10⁴;
  • 1 ≤ |a[i]| + |b[i]| ≤ 10⁴。

自定义测试输入格式

  1. 第一行:整数 n(数组长度)
  2. 接下来 n 行:数组 a 的每个字符串
  3. 接下来一行:整数 n(数组 B 长度)
  4. 接下来 n 行:数组 b 的每个字符串

Sample input

5
a
jk
abb
mn
abc
5
bb
kj
bbc
op
def

Sample output

Text

-1
0
1
2
3

Problem-solving ideas

对每一对字符串 a[i] 和 b[i]: 若长度不同,直接返回 -1; 若长度相同,统计两个字符串的 26 个字母频率,对每个字母取频率差的绝对值求和后除以 2,即为最少修改字符数。 (n≤100,字符串总长小,时间充裕。)

题目三:三元组

Question description

给定整数数组 d 和整数阈值 t,统计满足以下两个条件的索引三元组 (a, b, c) 的数量:

  1. a < b < c(索引严格递增);
  2. d[a] < d[b] < d[c](值严格递增);
  3. d[a] + d[b] + d[c] ≤ t。

Example d = [1,2,3,4,5], t = 8 满足条件的三元组共 4 组:(1,2,3)、(1,2,4)、(1,2,5)、(1,3,4)

Function description

long triplets(int t, int[] d)

Return value:满足条件的三元组总数(long 类型)。

Constraints

  • 1 ≤ n ≤ 10⁴;
  • 0 ≤ d[i] < 10⁹;
  • 0 < t < 3×10⁹。

自定义测试输入格式

  1. 第一行:阈值 t
  2. 第二行:整数 n(数组长度)
  3. 接下来 n 行:数组 d 的每个元素

样例输入 0

8
5
1
2
3
4
6

样例输出 0

3

样例输入 1

7
4
3
1
2
4

样例输出 1

2

Problem-solving ideas

先对数组 d 排序(保证值严格递增)。 然后用三重循环或固定 i < j,双指针/二分在 j 右侧找最大 k 满足 d[i] < d[j] < d[k] 且 d[i]+d[j]+d[k] ≤ t。 整体时间控制在 O(n²) 或 O(n² log n),用 long 返回结果(n=1e4 时数量可能很大)。

Write at the end

WeRide OA 虽然有一定挑战,但题型可预测性较强,认真准备就能有不错的结果。如果你在准备 WeRide OA 时遇到具体题目卡住,或者想做针对性的模拟练习和实时思路指导,欢迎来 Programhelp 咨询。我们可以帮你梳理高频题、提供一对一实战助攻,让你更有把握通过 WeRide 的 OA。

祝所有冲刺 WeRide 2026 的同学早日通过 OA,顺利拿到 Offer!

author avatar
Jory Wang Amazon Senior Software Development Engineer
Amazon senior engineer, focusing on the research and development of infrastructure core systems, has rich practical experience in system scalability, reliability and cost optimization. Currently focusing on FAANG SDE interview coaching, helping 30+ candidates successfully obtain L5/L6 Offers within one year.
END
 0