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

狗家onsite面经

 
🔗
paavo 2018-4-8 05:41:15 | 只看该作者
全局:
恭喜!楼主是PhD吗
回复

使用道具 举报

🔗
 楼主| actionlee 2018-4-8 06:34:03 | 只看该作者
全局:
paavo 发表于 2018-4-8 05:41
恭喜!楼主是PhD吗

是的,phd。总算快毕业了。
回复

使用道具 举报

🔗
 楼主| actionlee 2018-4-8 06:38:04 | 只看该作者
全局:
idatascience 发表于 2018-4-8 05:30
楼主不好意思啊,我等级太低了,每次只能加3升,只好给你两篇帖子分别加分了。厚着脸皮再问一下:可不可以 ...

其实就是一个2维的map。
c++里是map<int(row), map<int(col), int(val)>>。map在c++里的实现是红黑树,平衡二叉树的一种。
然后给定一个矩形区域(left, top, right, bottom),你可以在row里调用map.lower_bound(left),这样你就找到了行要开始遍历的地方。接下来在每个row里,你有另外一个map,同样去找到col开始的地方就可以了。
回复

使用道具 举报

🔗
markpen 2018-4-8 07:23:04 | 只看该作者
全局:
股票那题是不是用两个map,维持 prices 和 time stamps, 这样的话更新操作是O(lg n) , 查询操作是O(1)。有更快的方法么?
回复

使用道具 举报

🔗
 楼主| actionlee 2018-4-8 07:28:10 | 只看该作者
全局:
markpen 发表于 2018-4-8 07:23
股票那题是不是用两个map,维持 prices 和 time stamps, 这样的话更新操作是O(lg n) , 查询操作是O(1)。有 ...

就是这样。紫薯紫薯。

评分

参与人数 1大米 +3 收起 理由
markpen + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
rhwfyf 2018-4-8 07:36:16 | 只看该作者
全局:
actionlee 发表于 2018-4-8 07:28
就是这样。紫薯紫薯。

题意不太清楚,如果只有一支股票,stream in 的都是<timestamp, price>这样的pair,那么维护max/min,只用2个变量不是就够了吗? 为什么还需要2个map?
回复

使用道具 举报

🔗
 楼主| actionlee 2018-4-8 07:39:47 | 只看该作者
全局:
rhwfyf 发表于 2018-4-8 07:36
题意不太清楚,如果只有一支股票,stream in 的都是这样的pair,那么维护max/min,只用2个变量不是就够了 ...

因为同一个timestamp会有好几个price,以最近一个为准。所以你是要修改value的。
回复

使用道具 举报

🔗
rhwfyf 2018-4-8 07:49:04 | 只看该作者
全局:
actionlee 发表于 2018-4-8 07:39
因为同一个timestamp会有好几个price,以最近一个为准。所以你是要修改value的。

所以map1, key是timestamp, value是price。map2, key是price, value是timestamp。
找最大最小的价格,就是在map2中找最大最小key。
找最近的价格,就是在map1中找最大key对应的price?
回复

使用道具 举报

🔗
 楼主| actionlee 2018-4-8 08:06:59 | 只看该作者
全局:
rhwfyf 发表于 2018-4-8 07:49
所以map1, key是timestamp, value是price。map2, key是price, value是timestamp。
找最大最小的价格,就 ...

是的,就是这样的。

评分

参与人数 1大米 +3 收起 理由
rhwfyf + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
blactangeri 2018-4-8 13:15:55 | 只看该作者
全局:
actionlee 发表于 2018-4-8 08:06
是的,就是这样的。

这样的话怎么做的查询O(1)的?
回复

使用道具 举报

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

本版积分规则

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