Stripe OA 不同於 Google 或 Amazon 的 OA,Stripe 的題目往往一小時一題,單題難度偏高,題目長度和條件複雜度遠超一般電商或者支付類面試題。今天,我分享一篇我刷過的一道題的最詳解思路,包括資料預處理、分組統計、條件加分以及最終排序輸出的完整套路,希望能幫大家快速上手 Stripe HackerRank Online Assessment Questions 深度拆解與解題模型總結。
Stripe HackerRank Online Assessment Questions 真題分享
給定商家列表、交易列表及每筆交易對應的規則,為每個商家計算最終的欺詐分數。每筆交易可能透過金額乘分、同一客戶累計交易加分,以及同一小時交易的 penalty 來影響商家的分數。要求按規則順序累加分數,並最終按商家 ID 字典序輸出 merchant_id, score。
解題思路
我們先把 merch 先拆成字典,然後把 trans 還有 rules 合併記錄一下,最後先遍歷所有記錄,給每個人初始乘上對應分數,按 mc h 分組,記錄數量還有 add 之和, >= 3 那就加上對應的 sum,再按 mc h 分組,再統計 pen 之和,和 add 之和的規則一樣,也是 >= 3 就加上對應的 sum,最後排序再·輸出返回就行了,注意比較金額要用 >。
參考程式碼
from collections import defaultdict
from datetime import datetime
# 示例資料
merchants = ["M1", "M2"]
transactions = [
{"merchant_id": "M1", "customer_id": "C1", "amount": 100, "timestamp": "2026-01-24 10:15"},
{"merchant_id": "M1", "customer_id": "C1", "amount": 50, "timestamp": "2026-01-24 10:45"},
{"merchant_id": "M1", "customer_id": "C2", "amount": 200, "timestamp": "2026-01-24 11:05"},
{"merchant_id": "M2", "customer_id": "C3", "amount": 300, "timestamp": "2026-01-24 10:30"},
{"merchant_id": "M2", "customer_id": "C3", "amount": 150, "timestamp": "2026-01-24 10:45"},
{"merchant_id": "M2", "customer_id": "C4", "amount": 50, "timestamp": "2026-01-24 10:50"},
]
# 規則引數
factor = 2
customer_bonus = 1
hour_threshold = 3
hour_penalty = 5
# 初始化商家分數
score_map = {m: 0 for m in merchants}
# 規則1: 金額乘分 + 同一客戶累計加分
customer_count = defaultdict(lambda: defaultdict(int))
hour_count = defaultdict(lambda: defaultdict(int)) # merchant_id -> hour_str -> count
for tx in transactions:
m_id = tx["merchant_id"]
c_id = tx["customer_id"]
amount = tx["amount"]
hour_str = tx["timestamp"][:13] # 保留 "YYYY-MM-DD HH"
# 金額乘分
score_map[m_id] += amount * factor
# 客戶累計加分
score_map[m_id] += customer_bonus
customer_count[m_id][c_id] += 1
# 同一小時交易計數
hour_count[m_id][hour_str] += 1
# 規則2: 同一小時交易 penalty
for m_id, hours in hour_count.items():
for h, count in hours.items():
if count > hour_threshold:
score_map[m_id] -= hour_penalty
# 輸出按商家 ID 字典序
for m_id in sorted(score_map.keys()):
print(m_id, score_map[m_id])
OA代寫|大廠筆試|HackerRank 包過專業服務
如果你正被 OA / 大廠筆試反覆卡住,這裡可以給你一個更穩、更省時間的選擇。我們提供專業的OA代寫服務,覆蓋各類大廠筆試與 HackerRank / 牛客網 / CodeSignal 等主流平臺。全程由經驗豐富的北美工程師人工完成,確保所有測試用例 100% 透過,如未透過則不收費。
操作方式採用遠端控制,無需共享賬號,不留任何操作痕跡,流程穩定、安全、低風險。全程私域對接,響應快、溝通直接,適合臨近截止、容錯率極低的關鍵 OA 階段,幫你把精力留給真正重要的面試環節。