谷歌面试核心测试题及详细答案.docxVIP

  • 3
  • 0
  • 约3.6千字
  • 约 10页
  • 2026-06-28 发布于河北
  • 举报

谷歌面试核心测试题及详细答案

一、技术编码题(谷歌面试占比60%,侧重Medium难度)

1.最长绝对文件路径(LeetCode388,Medium)

题目:假设我们有一个模拟文件系统的字符串,格式如下:

dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext

其中\n是换行符,\t是制表符,表示目录层级。请找出文件系统中最长的绝对文件路径的长度(路径以/连接,文件必须包含.扩展名)。

答案解析:

• 核心思路:将文件系统视为树结构(目录/文件是节点,\t数量表示深度),用栈存储当前路径的长度,遍历字符串时动态更新。

• 分步实现:

a. 按\n分割字符串,得到每个节点(目录/文件);

b. 计算每个节点的深度(\t的数量),比如dir深度0,\tsubdir1深度1;

c. 维护栈:栈的索引对应深度,栈内元素是“当前深度的路径累计长度”。若当前深度小于栈的长度,弹出栈顶(回到父目录);

d. 计算当前节点长度:父路径长度+当前节点长度(需减去\t字符数)+1(路径分隔符/,根目录除外);

e. 若当前节点是文件(包含.),更新最长路径长度。

• 示例计算:

◦ 节点dir:深度0,栈空,压入3(dir长度),当前路径长度3;

◦ 节点\tsubdir1:深度1,栈长度1,压入3+1+7=11(3是父路径,1是/

文档评论(0)

1亿VIP精品文档

相关文档