亚麻音乐 SF 面经 挂

额 这个其实我想问一下 我如何知道我算法题答得好不好?我写code之前是和面试官确定过思路的 并且他们也同意了

这个很难,做题速度啥的也是考虑因素
另外你代码会不会有bug,做完有没有walk through test cases

有时候面试官会有第二题,但是如果面试者做的太慢就不出了

或者说,算法做的一般,不impressive,加上bq不行,结果应该是综合考虑的

我记得 在我写code的过程中 有一题是好像是有些小问题 string append应该在后面我整前面去了写的过程中就被纠正了 基本写完了code 他们也没说啥 感觉就看思路

我说的bug是算法bug,不是syntax

如果算bug 面试官是在写的过程中指出 还是说最后code全写好才指出

面试官指出的话,就丢分了
最好自己找出来
当然也有不指出的,就直接扣分了

谢谢 指点 这个我之前没太意识到 我以为思路对了 code差不多就行 没有特别注意最后要 walk through test cases

以前的课程都强调这个,参考 Amazon 最全备战合集

做完都要自己主动提,这样可以主动发现bug
你多练练会发现这个过程很容易帮自己整理一遍思路,在面试官指出之前主动发现bug
而且这样会给自己加分,帮助面试官理解你的代码

谢谢 我隐约记得好像听你说过 有印象

但是最终肯定是算法表现加bq,也许你算法是ok的,但bq拖后腿,加在一起就分数不够了

第四题如果都是小写字母, 感觉用 size 26的 vector 就可以解决, 类似先counting, 再比较。 时间复杂度大概 O(M*N), M 是list 的数目, N是每个list 平均元素数

flow up input 是List<List<String>> e.g [[“I”, “am”, “a”, “coder”], [“you”, “are”, “a”, “code”]]

这个假设有问题
你可以两个list都sort一下,two pointer解决

k个 list也就是k个pointer,类似 merge k sorted list

我以为是char.

如果每个list 很长, 排序应该是最耗时的, 如果有M 个, 平均长度是N, 则时间复杂度为 O(MNlog(N)).

感觉可以考虑用unordered_map<string, int> mp, 这样可以不用排序了, 算是空间换时间把, 这个面试时要和面试官商量

如果已经sort好了, two pointers 最快

哈哈。。不像正常人交流,赞