← 返回博客列表
CodeSignal

🚨【CodeSignal OA 真題流出】4道高頻題全解析:字串、密碼學、HashMap、迷宮傳送!

2026-01-13

最近備戰 TikTok、Google、Amazon 等大廠 OA 的同學注意了!這套 CodeSignal 真題涵蓋了 4 種經典題型,從字串處理到圖論模擬,難度層層遞進。

我們長期穩定承接各大科技公司如 TikTok、Google、Amazon 等的 OA 筆試代寫服務,確保滿分通過。如有需求,請隨時聯繫我們。


✅ Question 1: Count Substrings With Vowels(母音子串計數)

題目描述

你正在開發一個聊天應用的自動審核系統,需要檢測特定的語言模式。

給定一個字串 chatMessage,統計長度恰好為 3 且至少包含一個母音字母("a", "e", "i", "o", "u" 或其大寫形式)的子串數量。

約束條件: 1 ≤ chatMessage.length ≤ 1000

範例

輸入: chatMessage = "CodeSignal"
輸出: 8

解釋: 長度為3的子串: "Cod", "ode", "deS", "eSi", "Sig", "ign", "gna", "nal"
所有子串都包含至少一個母音 → 8個
輸入: chatMessage = "StrEngThen"
輸出: 5

解釋: 包含母音的子串: "trE", "rEn", "Eng", "The", "hen" → 5個

oavoservice 滿分解法

def solution(chatMessage):
    vowels = set('aeiouAEIOU')
    count = 0
    for i in range(len(chatMessage) - 2):
        substring = chatMessage[i:i+3]
        if any(c in vowels for c in substring):
            count += 1
    return count

時間複雜度: O(n),一次遍歷即可完成


✅ Question 2: Consonant Cipher Shift(子音密碼位移)

題目描述

你正在實現一個簡單的替換密碼,只影響備忘錄中的子音字元。

該密碼的工作原理是:將每第 k 個子音字母移位到字母表中的下一個子音,母音和其他字元保持不變。

規則:

範例

輸入: memo = "CodeSignal", k = 3
輸出: "CodeTignam"

解釋:
子音序列: 'C', 'd', 'S', 'g', 'n', 'l'
第3個子音 'S' → 'T'
第6個子音 'l' → 'm'

oavoservice 滿分解法

def solution(memo, k):
    consonants = 'bcdfghjklmnpqrstvwxyz'
    consonant_set = set(consonants + consonants.upper())
    
    def next_consonant(c):
        lower = c.lower()
        idx = consonants.index(lower)
        next_c = consonants[(idx + 1) % len(consonants)]
        return next_c.upper() if c.isupper() else next_c
    
    result = list(memo)
    consonant_count = 0
    
    for i, c in enumerate(memo):
        if c in consonant_set:
            consonant_count += 1
            if consonant_count % k == 0:
                result[i] = next_consonant(c)
    
    return ''.join(result)

關鍵點: 子音計數器 + 模運算判斷第 k 個


✅ Question 3: Molecular Bond Pairing(分子鍵配對)

題目描述

你是一名研究分子化合物的化學家,有兩個陣列表示兩種不同化合物中元素的原子量:

具有相同平衡因子(主要和次要原子量之差)的兩個化合物可以形成穩定鍵。

任務: 統計滿足 i < jx[i] - y[i] == x[j] - y[j] 的唯一分子配對 (i, j) 的數量。

範例

輸入: x = [2, -2, 5, 3], y = [1, 5, -1, 1]
輸出: 6

解釋:
計算所有 x[i] - y[i]: → 1, -7, 6, 2
統計差值相同的配對數

oavoservice 滿分解法

from collections import defaultdict

def solution(x, y):
    diff_count = defaultdict(int)
    count = 0
    
    for i in range(len(x)):
        diff = x[i] - y[i]
        count += diff_count[diff]
        diff_count[diff] += 1
    
    return count

時間複雜度: O(n),使用 HashMap 一次遍歷統計

核心思路: 經典的 Two Sum 變種,用 HashMap 存儲差值出現次數


✅ Question 4: Teleport Labyrinth(傳送迷宮)

題目描述

想像你正在探索一個神秘的矩形迷宮,其中包含障礙物和傳送門。你的目標是從左上角開始,只能向右移動,到達右下角。

輸入:

移動規則:

輸出:

範例

輸入: n = 3, m = 3, obstacles = [[2, 1]], teleports = [[0, 1, 2, 0]]

網格:
[0,0]  [0,1]*T  [0,2]
[1,0]  [1,1]    [1,2]
[2,0]  [2,1]X   [2,2]

你從 [0,0] 開始,移動到 [0,1] → 傳送到 [2,0]
無法向右移動到 [2,1] 因為是障礙物
→ 返回 -1

oavoservice 滿分解法

def solution(n, m, obstacles, teleports):
    obstacle_set = set(tuple(o) for o in obstacles)
    teleport_map = {(t[0], t[1]): (t[2], t[3]) for t in teleports}
    
    row, col = 0, 0
    visited = set()
    cells_traversed = 0
    
    while True:
        # 檢查傳送循環
        state = (row, col)
        if state in visited:
            return -2
        visited.add(state)
        
        # 檢查障礙物
        if (row, col) in obstacle_set:
            return -1
        
        cells_traversed += 1
        
        # 檢查是否到達終點
        if row == n - 1 and col == m - 1:
            return cells_traversed
        
        # 檢查傳送門
        if (row, col) in teleport_map:
            row, col = teleport_map[(row, col)]
            continue
        
        # 向右移動
        col += 1
        
        # 檢查邊界
        if col >= m:
            return -3
        
        # 檢查障礙物
        if (row, col) in obstacle_set:
            return -1
    
    return -3

核心考點: 狀態機模擬 + 循環檢測 + 多種終止條件處理


💡 為什麼這套題能篩掉大量候選人?

這 4 道題看似獨立,實際上考察了 OA 中最核心的幾個能力:

  1. 字串處理基礎 - Q1 考察滑動視窗思維
  2. 模擬與狀態追蹤 - Q2 考察計數器和字元映射
  3. HashMap 優化 - Q3 是經典的 Two Sum 變種
  4. 圖論與狀態機 - Q4 考察複雜條件的模擬能力

🚀 oavoservice:你的滿分通關保障

我們長期穩定承接各大科技公司如 TikTok、Google、Amazon、Microsoft、Meta 等的 OA 筆試代寫服務,確保滿分通過。

全棧覆蓋: 熟悉 CodeSignal、HackerRank、Karat 等所有主流 OA 平台

即時響應: 7x24 小時線上,隨時待命

滿分保障: 專業演算法團隊,100% 通過率

安全可靠: 多年經驗,從未失手

We consistently provide professional online assessment services for major tech companies like TikTok, Google, and Amazon, guaranteeing perfect scores. Feel free to contact us if you're interested.

📩 如有需求,請隨時聯繫我們。

👉 立即添加微信:Coding0201

鎖定你的大廠 Offer!