Google OA
刚刚做完OA。扪心自问,如果事先没看过前辈们的面经,目测已挂。所以饮水思源,直接上干货。目前OA(Fulltime)就两题,每一题都有若干小变化。
题干:
- 给一个int,根据一定规则替换相邻的两个digit,返回替换完成的int。
- 1.1 replace two adjacent digits with the larger one, return min (e.g. 233614 -> 23364)
- 1.2 replace two adjacent digits with the round up average, return max (e.g. 623315 -> 63315)
- 1.3 choose a group of(at least two) identical adjacent and remove a single digit, return max (e.g.223336226 -> 23336226)
给一个代表文件路径的string,根据具体题目要求,返回图片(.jpeg or .png or .gif)路径长度。 e.g. Given String
s = "dir1\n dir11\n dir12\n picture.jpeg\n dir121\n file1.txt\ndir2\n file2.gif"
; So image paths are/dir1/dir12/picture.jpeg
and/dir2/file2.gif
.1.1 return longest image path to root (return 11, /dir1/dir12)
- 1.2 return longest image path to imgae (return 24, /dir1/dir12/picture.jpeg)
- 1.3 return total image path to root (return 11 + 5 = 16, /dir1/dir12 + /dir2)
- 1.4 return total image path to root (return 24 + 15 = 39, /dir1/dir12/picture.jpeg + /dir2/file2.gif)
思路:
- 我用的brute force,只是局部优化了一下。应该有更好的解法,之前尝试了一下,有点晕,遂放弃挣扎。(oa只要求结果正确)
- 自己定义了一个treenode,然后dfs。之前看了地里前辈们的解法,很多用stack的,乍一看没太看懂就没仔细看了。