← 返回博客列表
Bloomberg

Bloomberg 面試題:實作 Wordle 猜詞回饋邏輯

2025-12-21

題目描述

實作 Wordle 遊戲的回饋字串:給定目標單字 target 與玩家猜測 guess,輸出同長度的回饋。

符號規則:

範例

Target: staff
Guess:  world -> -----
Guess:  worms -> ----%
Guess:  fluff -> ---**
Guess:  staff -> *****

關鍵難點

必須正確處理重複字母(例如 staff 有兩個 f)。因此通常用「兩遍掃描」:

  1. 先標記所有完全匹配 *,並扣掉可用字母數量
  2. 再處理剩餘位置,若字母仍有剩餘數量,標記 %

Python(Counter 版)

from collections import Counter


def wordle_feedback(target: str, guess: str) -> str:
    n = len(target)
    res = ['-'] * n
    remaining = Counter(target)

    # 第一遍:完全匹配
    for i in range(n):
        if guess[i] == target[i]:
            res[i] = '*'
            remaining[guess[i]] -= 1

    # 第二遍:存在但位置不對
    for i in range(n):
        if res[i] == '-' and remaining[guess[i]] > 0:
            res[i] = '%'
            remaining[guess[i]] -= 1

    return ''.join(res)

複雜度


需要面試輔助服務?聯絡 OA VO Service

需要面試真題? 立刻聯繫微信 Coding0201,獲得真題