← 返回博客列表
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!