目录
正在加载目录...

Google OA 分享|两道题15分钟AC思路(已通过)

最近我帮好几位同学辅助了 Google OA ,今天自己也刷了一场,把真实体验和完整思路分享给大家。Google OA 题型一直比较稳定,这次两道题我用 Python 15 分钟左右就全 AC 了,下面详细聊聊。

Google OA 分享|两道题15分钟AC思路(已通过)

第一题:跳跃收集硬币

题目大意:有一个字符串表示棋盘(包含 ‘.’、’T’、’C’),玩家每次只能往右跳固定 3 步,遇到 ‘C’(硬币)可以收集,但每个硬币只能拿一次,问最多能收集多少硬币。

Google OA 分享|两道题15分钟AC思路(已通过)

我的思路

因为步长固定为 3,所有位置对 3 的余数只有 0、1、2 三种情况,而且只能往右走。我把字符串按余数分成三组,分别处理。只要在某一组里碰到 ‘T’,后面同余数的 ‘C’ 就都能收集到。我用一个 visited 数组或 set 标记避免重复收集,从左到右遍历一遍就出结果了。

这题关键是发现“同余数可以连通”的规律,代码写得干净一点就稳了。边界情况要注意字符串长度小于 3、没有 ‘C’、全是 ‘.’ 等情况。

第二题:选数字组(至少有一位数字相同)

题目大意:给定 N 个两位数,要求选出一组数,使得任意两个至少有一位数字相同,求最大组的大小。

Google OA 分享|两道题15分钟AC思路(已通过)

我的思路

直接枚举 0 到 9 这 10 个数字,对每个数字统计它在所有数中出现的次数(注意 55 这种两位相同的情况只算一次),最后取最大的那个次数就是答案。

这题本质是“找出现最频繁的数字”,代码非常短,边界处理好就行。需要注意输入是 vector<int>,两位数范围 10-99。

一些小体会

Google OA 题型还是比较实用的,不太卷极端算法,主要看你能不能快速找到规律和写出清晰代码。两道题我都是先读题 1-2 分钟想清楚思路,再动手写,时间很充裕。

最近我做了好几场 Google OA 和 VO,感觉提前适应这类“找规律 + 简单统计”的题型很有帮助。

写在最后

这次 OA 做得还算顺利。准备 Google 的同学可以多练练这种实用小题。

如果你也在准备 Google SDE、SWE 或者其他技术岗位,欢迎了解 Interview Show,过去几年,我们曾深度辅助学员参与 Amazon、TikTok、Pinterest、Meta、Stripe、Coinbase、DoorDash 等顶级科技公司的面试流程,提供面向北美技术岗位的面试准备支持。

我们坚持非流水线、强定制的服务模式。每位客户均配备专属顾问与技术导师,提供全程一对一支持,从准备阶段到面试,帮助你的每一次 OA 与 VO 表现都能精准击中招聘方的需求。

有需要的同学可以直接联系 Interview Show 详聊,先做免费评估,再看怎么帮你最合适。

END