19-google-summer-intern面经(2019-2月面的)

3558
11
这周面google summer intern. 感觉太迟了,就当作体验吧。

第一轮:
merge two array in place.
然后 follow up: 怎么 merge 10 个 array, 生成一个新的
问了 两种解法, 时间空间复杂度
我用了 min-heap 和 divide and conquer 来做

第二轮:
实现一个 iterator, 输入【2,3,0,9,5,1】。输出 【3,3,3,1,1,1,1,1】
实现 next, hasnext, constructor 的 function

注意:面试官 很挑剔, 要你把所有test case 写出来,一一证明。 比如:遇到负数,遇到0, 数组为奇数 等等,我是用queue来做的。

面试官 会让你实现 最优解,就是 动态每次读入,生成输出,不是一口气全部读入

比较 tircky 就是, 如果遇到 [0,9 ....... 0,0, .... 1,1] ,hasnext怎么判断 后面还有输出 ,我是多写了一个function 来判断。

求大米。
  • 6
11条回复