WeRide OA 2026 | 我剛刷完的文遠知行 HackerRank 真實題目分享

1,507Views

WeRide OA 給我留下了挺深的印象。90 分鐘 3 道題,時間卡得非常緊,後來在 Programhelp 的幫助下,才在正式 OA 中比較從容地完成了前兩題全 AC,第三題也拿到了大部分分數,最終順利透過。下面是我這次 WeRide OA 面經 的完整分享,包括真實遇到的題目型別、解題思路和備戰心得,希望能給正在準備 WeRide 2026 的同學一些參考和幫助。

WeRide OA 2026 | 我剛刷完的文遠知行 HackerRank 真實題目分享

WeRide OA 整體情況

  • 平臺:HackerRank
  • 時長:通常 90 分鐘
  • 題量:3 道 Coding 題(難度 Medium 為主,第三題偏難)
  • 透過關鍵:至少 2 題 Full AC(所有測試用例透過),第 3 題儘量多拿分
  • 特點:題目偏工程實用,考察字串處理、陣列操作、DP 和貪心較多,時間緊迫,對程式碼效率和邊緣 case 處理要求較高

WeRide OA 整體難度中等偏難,尤其是時間壓力大,很多同學反映第三題容易超時或邊界處理出錯。

題目一:冪數統計

題目描述

定義冪數為可表示為兩個冪之和的整數,形式為: x = a^p + b^q 其中:

  • a, b, p, q 均為整數;
  • a, b ≥ 0;
  • p, q > 1。

請計算區間 [l, r] 內(包含 l 和 r)的冪數個數。

示例 l = 20,r = 25 時,冪數為:

  • 20 = 2² + 4²
  • 24 = 2³ + 4²
  • 25 = 3² + 4² 共 3 個冪數。

函數說明

int countPowerNumbers(int l, int r)

傳回值:區間 [l, r] 內冪數的數量。

約束條件

  • 0 ≤ l ≤ r ≤ 5×10⁶

自定義測試輸入格式 第一行:l 第二行:r

樣例輸入 0

0
1

樣例輸出 0

2

解釋:0 和 1 均為冪數(0=0²+0²,1=0²+1²)。

解題思路

預先生成所有可能的完美冪(perfect power):指數從 2 到 ~40,基數 a 從 0 開始,直到 a^p 超過 r,存入集合去重。 然後雙重迴圈列舉任意兩個冪的和(包括相同冪),將所有和值放入另一個集合去重。最後統計該集合中落在 [l, r] 內的元素個數即可。 (生成法遠優於逐數驗證,適合 r≤5e6。)

題目二:字母差

題目描述

給定兩個字串陣列 a 和 b,對於每一對 a[i] 和 b[i]:

  • 如果長度不同,返回 -1;
  • 如果長度相同,計算使兩個字串成為變位詞(Anagram)所需修改的最少字元數。

示例 a = [“tea”, “tea”, “act”] b = [“ate”, “toe”, “acts”] 結果:[0, 1, -1]

函數說明

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

傳回值:長度為 n 的整數陣列,對應每對字串的修改次數(或 -1)。

約束條件

  • 字串僅包含小寫字母 ‘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 的每個字串

樣例輸入

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

樣例輸出

text

-1
0
1
2
3

解題思路

對每一對字串 a[i] 和 b[i]: 若長度不同,直接返回 -1; 若長度相同,統計兩個字串的 26 個字母頻率,對每個字母取頻率差的絕對值求和後除以 2,即為最少修改字元數。 (n≤100,字串總長小,時間充裕。)

題目三:三元組

題目描述

給定整數陣列 d 和整數閾值 t,統計滿足以下兩個條件的索引三元組 (a, b, c) 的數量:

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

示例 d = [1,2,3,4,5], t = 8 滿足條件的三元組共 4 組:(1,2,3)、(1,2,4)、(1,2,5)、(1,3,4)

函數說明

long triplets(int t, int[] d)

傳回值:滿足條件的三元組總數(long 型別)。

約束條件

  • 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

解題思路

先對陣列 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 時數量可能很大)。

寫在最後

WeRide OA 雖然有一定挑戰,但題型可預測性較強,認真準備就能有不錯的結果。如果你在準備 WeRide OA 時遇到具體題目卡住,或者想做針對性的模擬練習和實時思路指導,歡迎來 Programhelp 諮詢。我們可以幫你梳理高頻題、提供一對一實戰助攻,讓你更有把握透過 WeRide 的 OA。

祝所有衝刺 WeRide 2026 的同學早日透過 OA,順利拿到 Offer!

author avatar
Jory Wang Amazon資深軟體開發工程師
Amazon 資深工程師,專注 基礎設施核心系統研發,在系統可擴充套件性、可靠性及成本最佳化方面具備豐富實戰經驗。 目前聚焦 FAANG SDE 面試輔導,一年內助力 30+ 位候選人成功斬獲 L5 / L6 Offer。
END
 0