Google L3 电话面试经历

Viewed 71

题目描述

面试题目与这道LeetCode题目本质相同,但以不同的方式呈现:
https://leetcode.com/problems/move-pieces-to-obtain-a-string/description/

初始题目

给定两个字符串表示初始状态和目标状态:
initialState: "_ L _ L L _ R L _ R R R "
targetState: " _ _ _ L _ R L _ _ _ _ R"
要求判断是否能通过移动棋子将初始状态转变为目标状态(输出true/false)

进阶问题

面试官提出的follow-up:
如果棋子可以移出数组范围(超出边界)该怎么处理?

解题过程

  1. 基础问题解法

    • 成功解决了基础问题(与LeetCode原题相同的解法)
  2. 进阶问题思考

    • 我提出可以移除开头连续的L和结尾连续的R,然后对中间部分使用原问题的解法
    • 面试官指出这不一定是必要条件,因为棋子不一定会被移除
    • 需要跟踪索引位置来判断
    • 由于时间关系,未能完整实现这个方案

不确定是否能进入下一轮,希望可以!加油!

1 Answers

很棒的分享!不仅清晰描述了题目,还讲到了进阶讨论的思路👍
即使 follow-up 没完全实现,也能看出你的思考路径和解题能力。祝你顺利拿到下一轮,加油!💪