面过的几家小公司,结果有好有坏,但是感觉自己基础还是很差,要学习的东西真是还有很多,总结一下做的不好的题目
1 liveramp
分析时间复杂度题目: n 个数,任意两个组成pair, 问所有pair再相加时间复杂度,题目明显引导你选O(n^2),但是其实O(n)就解决!
2 6 degree 问题,求任意两个actors之间的degree
之前看面经的时候有人说bfs就没多想,但实际这道题是双向bfs来解决,这样可以更快,data structure 就是常规bfs使用queue就可以
以下是面经中别人的分析
从source和target两头同时做BFS,复杂度就是O(b + b^2 + ... + b^(d/2))) = O(b^(d/2)))
b是平均每个点的neighbor数,
d是遍历深度。这个显然polynomial time。