G面经4

2016年11月05日 湾区

两周前面的G家实习,两轮电面,前天收到hr消息,拿到open offer,可以guarantee internship,但还要和team host聊,由Google定项目。

第一轮

一个m*n的matrix , 从左上到左下有多少种走法。用dp

follow up 1 : 有一个点(x,y)必须要经过,有多少走法。然后优化内存,用rolling array

follow up 2 : 有一个set的点都要经过,有多少走法。我说要用HashSet来快速找点,然后问Point class怎么做hashing,写了hashCode function

第二轮

先是两道特简单的字符串题,然后面试官说"Here comes the real question"

给一个字符串的abbreviation ,就是把一些连续的字符转成数字,比如apple -> a2l1 , 然后让写一个函数验证一个带数字缩写是不是另一个字符串的缩写。two pointer秒过

第二道是给一个排好序的字符串数组,有n个字符串,还有一个前缀prefix字符串,长为m,要求函数返回start index和end index,其中所有字符串都以prefix开始,先用binary search,达到m*log(n)复杂度,面试官挺满意,然后我又给了个Trie树预处理O(所有字符串长之和),之后每个prefix都可以有O(m)的查找。面试官挺高兴,又聊了聊java 8的新feature,保证lamda和stream api。

题挺简单的,代码都写完了,后来想起来个exception,面试官下线后趁还没把我踢出去给改了

results matching ""

    No results matching ""