Shopee SG 前端面试算法题

2022-04-29 18:36:45 +08:00
 YadongZhang

一面:

Itersection of Multiple Arrays

Input: nums = [[3,1,2,4,5],[1,2,3,4],[3,4,5,6]]
Output: [3,4]

Input: nums = [[1,2,3],[4,5,6]]
Output: []

实现一个时间复杂度为 O(n) 的算法
5060 次点击
所在节点    职场话题
43 条回复
tingyunsay
2022-05-06 16:58:33 +08:00
@surmon 楼主意思是要 O(n)时间复杂度,结果要有序输出,会有一个 sort
afutureus
2022-05-06 21:02:30 +08:00
@tingyunsay 不可能啊。

极端情况,输入只有一个列表。

输入无序,输出有序,那么必须经过排序算法。

基于比较的算法 至少 nlogn 。

其它算法,不给数据范围等于耍流氓 :(
tingyunsay
2022-05-07 11:06:03 +08:00
@afutureus 有这种情况,他的数字若是限制在 0 ~ n 的,可以申请一个长度为 n 的数组,直接写入到对应的位置标记个 1 ,未写入的为 0 ,最后从 0 到 n 扫描结果,非 0 的加入结果,这样总体是算是 O(2n),也有序。不过感觉他这题目也没限制...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/850094

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX