news 2026/8/15 4:56:16

Capital One CodeSignal OA 四题全过,题目和思路整理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Capital One CodeSignal OA 四题全过,题目和思路整理

上周收到 Capital One 的 OA 邀请,70 分钟 CodeSignal 4 题。当时正在准备别家的我立刻调整策略:不刷题海,只打高频考点。最后提前将近 40 分钟交卷,4 题全部通过。把题目和思路整理出来,给后面投 Capital One 的朋友参考。

OA 基本信息

平台是 CodeSignal,时间 70 分钟,共 4 道题,难度按顺序递进:Easy → Medium → Medium+ → Hard。题目全英文描述,不需要处理输入输出,直接写函数体。Capital One 的 OA 在 CodeSignal General 题库里出题,考点分布非常稳定,基本是数组/字符串基础、哈希计数、排序/双指针、模拟实现这个顺序。前两题要当送分题,15 分钟内解决,把时间留给后两题。

Q1:餐厅取餐调度(模拟 + 二分)

题意:两个取餐柜台 A 和 B,各自的可取餐时刻存在两个有序数组里,每次取餐固定耗时 30 个时间单位。需要完成 orders 次取餐,每次都选当前最早可用的时刻,求完成全部取餐时的时间点。

解题思路:纯模拟题,逻辑不复杂,关键是"找当前时间之后最早的可用时刻"这个子逻辑。数组已经有序,二分找第一个大于等于当前时间的时刻即可,O(orders × log n) 完全够用。注意处理数组越界,以及当前时间正好等于可取时刻的情况。

Q2:长度为 4 且恰好含 2 种字符的子串(滑动窗口)

题意:给一个小写英文字母字符串,统计长度为 4 的子串中,不同字符数恰好为 2 的子串数量。

解题思路:窗口长度固定,直接滑。维护窗口内的字符频次表,右移一格就加一个字符、减一个字符,频次表大小等于 2 时计数加一。O(n) 解法,三分钟内应该能写完。唯一注意的是长度不足 4 时直接返回 0,加个前置判断就行。

Q3:预算内双任务最大耗时(排序 + 双指针)

题意:给一个任务耗时数组和预算 budget,选出两个不同的任务,使耗时之和不超过 budget,返回最大的合法和;不存在则返回 -1。

解题思路:暴力解 O(n²) 枚举所有数对,题目数据范围允许,可以直接双层循环。如果想更优,排序后双指针从两端往中间收,O(n log n)。OA 里别为了优化浪费时间,先跑通再说。注意结果要初始化为 -1,以及"两个不同任务"意味着下标不能重复取。

Q4:方块下落与消行(模拟 + 图形放置)

题意:给一个 n×m 的全零网格,按顺序下落一系列方块:横条(1×k)、竖条(k×1)、方块(2×2),每个方块用它在 pieces 数组里的 1-based 序号标记。按重力规则从上往下落,贴着底部或已有方块的顶部停住;每当某一行被完全填满就消除,上面的方块整体下移。返回最终的网格状态。

解题思路:这是 OA 里最费时间的一道,逻辑不难但实现量大。核心是把每种方块的形状用相对坐标预定义好,然后模拟下落过程——对每个方块从底部向上扫描,找到第一个不重叠的合法位置,落定后检查消行,消完还要让上面的方块重新做重力下落。写完记得用例子手动验证一遍再提交,坐标偏移和消行后的下移顺序最容易出错。

备战建议

Capital One 的 OA 题型非常稳定,前两题基本送分,第三题在边界条件上容易出错,第四题实现量大但逻辑直白。时间分配建议:Q1+Q2 合计不超过 15 分钟,Q3 给 15 分钟,剩下 40 分钟留给 Q4,写完之后一定要留时间跑测试用例。

最后想分享一下我的备战心得

Capital One OA 的信息差还是挺大的,尤其是 Q4 这种图形放置加状态维护的题,如果没有提前见过类似题型,很容易时间不够。我在准备过程中找 oavoservice 做了 OA 辅助,他们整理的 Capital One 高频题库覆盖率很高,Q3 那道双指针变种题在题库里见过,节省了不少卡壳时间,最后也顺利通过了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/15 4:51:51

Python命令行参数处理:从sys.argv到argparse的实战指南

1. 项目概述:为什么命令行参数处理是Python开发的必修课刚接触Python脚本开发时,很多人习惯把配置直接写死在代码里,比如数据库地址、文件路径、运行模式。改一次配置就得翻一次代码,调试起来麻烦不说,脚本也毫无复用性…

作者头像 李华
网站建设 2026/8/15 4:45:27

从能跑就行到清晰可循:资深工程师的详细设计实战指南

1. 从“能跑就行”到“清晰可循”:为什么资深码农都看重详细设计?干了十几年开发,带过不少项目,也面试过很多候选人。我发现一个挺有意思的现象:很多工作三五年的程序员,代码写得飞快,功能也能实…

作者头像 李华
网站建设 2026/8/15 4:37:52

单片机毕业设计-基于 STM32 的养殖水体环境感知与自动管控系统设计 基于 STM32 的水产养殖定时投喂增氧智能控制器设计(012303)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/8/15 4:37:39

计算机毕业设计之长白山景区游客流量数据分析与可视化

随着旅游业的蓬勃发展,长白山景区作为国内知名的旅游胜地,吸引了大量游客前来观光游览。为了更好地了解游客流量情况,提升景区管理效率,我们采用Python、Vue和MySQL技术,对长白山景区游客流量数据进行了分析与可视化。…

作者头像 李华
网站建设 2026/8/15 4:37:25

【单片机课设毕设项目】基于 STM32 单片机的多模式环境感知与继电器驱动控制系统设计 基于 STM32 单片机的环境信息可视化监测与智能安防调控系统设计(012803)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/8/15 4:36:30

解决Visual Studio扩展安装错误:兼容性与依赖问题的完整指南

1. 问题现象与根源剖析“此扩展不能安装在任何当前安装的产品上”或“无法安装此扩展,因为缺少以下引用”,这两个错误弹窗是许多Visual Studio用户在尝试安装扩展(.vsix文件)时遇到的“拦路虎”。表面上看,问题似乎很明…

作者头像 李华