楼主: turbotian
跳转到指定楼层
上一主题 下一主题
收起左侧

黑车公司面经

🔗
ivanyang 2017-7-25 17:06:21 | 只看该作者
全局:
第二题利用一个log记录就好了嘛,
开一个linked list,每次insert/update 都在最后append一个(key, value, maxNow)的 tuple,delete就append一个(key, NaN, maxNow) 就行
query就从后往前扫咯,反正对query 没有性能要求
回复

使用道具 举报

🔗
ivanyang 2017-7-25 17:07:08 | 只看该作者
全局:
mimighost007 发表于 2017-7-25 16:41
这题有坑。如果这种数据结构存在的话,那就可以设计出O(n)的排序算法。

首先insert所有元素,这个按照 ...

可以参考我楼上回复,这个数据结构对get没有要求,所以还是可以设计的
回复

使用道具 举报

🔗
mimighost007 2017-7-26 00:43:31 | 只看该作者
全局:
ivanyang 发表于 2017-7-25 17:07
可以参考我楼上回复,这个数据结构对get没有要求,所以还是可以设计的

这个有问题,假设最开始insert的是最大的元素,你记录的所有maxNow都是这一个值,delete这个max之后,必须要遍历整个log来找出下一个max。那就不是常数级别了。
回复

使用道具 举报

🔗
fengyunzhe820 2017-7-26 03:30:12 | 只看该作者
全局:
mimighost007 发表于 2017-7-26 00:43
这个有问题,假设最开始insert的是最大的元素,你记录的所有maxNow都是这一个值,delete这个max之后,必 ...

是不是可以用min stack 的思路?
回复

使用道具 举报

全局:
面试的时候可以试试这么圆过去
max()用任何一个算法实现,把结果存在一个地方
每次query都是O(1), 后台再找下一个max;这个后台操作的时间题目没有明确要求

补充内容 (2017-7-26 04:26):
应该是每次insert(), delete(), update()之后,max()后台update
否则连续insert N个数然后连续max, delete N 次,O(N) 就完成排序了
回复

使用道具 举报

🔗
lqs4188980 2017-7-26 14:20:37 | 只看该作者
全局:
全O(1)那道问题我怀疑有些潜在的假设他并没告诉你。如果value是integer且落在某个不是特别大的范围内可以开数组count每个值出现的次数,insert, update, delete的时候去操作counter数组,用一个max变量指向counter数组里不为零的最大index。如果value是任意值的话基本上应该是没法做到始终O(1)的,或者他能保证max只会被call一次
回复

使用道具 举报

🔗
hxuanyu 2017-7-30 21:11:43 | 只看该作者
全局:
lqs4188980 发表于 2017-7-26 14:20
全O(1)那道问题我怀疑有些潜在的假设他并没告诉你。如果value是integer且落在某个不是特别大的范围内可以开 ...

但是一旦最大值被delete了,寻找下一个max的index 也可能是O(N)的
回复

使用道具 举报

🔗
f1371342385 2017-9-4 10:24:09 | 只看该作者
全局:
LZ 这个system design有啥想法吗,如何来生成推荐算法呢
回复

使用道具 举报

🔗
zhxymacau2017 2018-1-28 04:26:45 | 只看该作者
全局:
想问下楼主,  第三轮,  推荐recommendation app, 楼主是怎么设计的
回复

使用道具 举报

🔗
zhxymacau2017 2018-1-28 04:31:06 | 只看该作者
全局:
mimighost007 发表于 2017-7-25 16:41
这题有坑。如果这种数据结构存在的话,那就可以设计出O(n)的排序算法。

首先insert所有元素,这个按照 ...

对啊, 就像要求不用额外空间, 设计一个玄学排序算法, O(N)完成.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表