12
返回列表 发新帖
楼主: sunmoyun
跳转到指定楼层
上一主题 下一主题
收起左侧

2016.2.26 2 PST Amazon 面经

🔗
beforelost 2016-3-1 05:41:32 | 只看该作者
全局:
johnjavabean 发表于 2016-3-1 02:46
没必要用queue,用两个long就行了....一个记录倒数第61秒多少个log,一个记录过去60秒一共多少个,每次lo ...

倒数第61秒的访问次数怎么更新呢?过去60秒不是根据调用report的时间往前60秒吗
回复

使用道具 举报

🔗
johnjavabean 2016-3-1 08:45:21 | 只看该作者
全局:
sunmoyun 发表于 2016-3-1 05:00
那或许要再写一个每秒更新的方法才能行吧,不然你只记两个次数,十分钟二十分钟之内都不调用log,这两个 ...

这个log肯定每分钟调用的吧....不然你用什么数据结构都没用,毕竟数据缺失了...可能是需要一个counter在第一个60秒的时候
回复

使用道具 举报

🔗
elvisxyu 2016-3-1 09:00:51 | 只看该作者
全局:
最简单的话用map来实现就好了 不过可能大部分new grad都会没听说过
sortmap有寻找floorkey方法 还有keyfrom和keyto, 用来在范围内找值最试用  :)
回复

使用道具 举报

🔗
beforelost 2016-3-1 09:56:22 | 只看该作者
全局:
elvisxyu 发表于 2016-3-1 09:00
最简单的话用map来实现就好了 不过可能大部分new grad都会没听说过
sortmap有寻找floorkey方法 还有keyfro ...

这应该就不是O(1)了吧?
回复

使用道具 举报

🔗
elvisxyu 2016-3-1 11:27:58 | 只看该作者
全局:
beforelost 发表于 2016-3-1 09:56
这应该就不是O(1)了吧?

依据是什么呢? 如果不放心可以去看下源码,或者简单google下
回复

使用道具 举报

🔗
beforelost 2016-3-1 12:22:07 | 只看该作者
全局:
elvisxyu 发表于 2016-3-1 11:27
依据是什么呢? 如果不放心可以去看下源码,或者简单google下

final Entry<K,V> More ...getCeilingEntry(K key) {
387         Entry<K,V> p = root;
388         while (p != null) {
389             int cmp = compare(key, p.key);
390             if (cmp < 0) {
391                 if (p.left != null)
392                     p = p.left;
393                 else
394                     return p;
395             } else if (cmp > 0) {
396                 if (p.right != null) {
397                     p = p.right;
398                 } else {
399                     Entry<K,V> parent = p.parent;
400                     Entry<K,V> ch = p;
401                     while (parent != null && ch == parent.right) {
402                         ch = parent;
403                         parent = parent.parent;
404                     }
405                     return parent;
406                 }
407             } else
408                 return p;
409         }
410         return null;
411     }


这是java treemap的源码,这个实现查找是O(logN)的。除非你说的是其他的实现
回复

使用道具 举报

🔗
elvisxyu 2016-3-2 07:26:40 | 只看该作者
全局:
beforelost 发表于 2016-3-1 12:22
final Entry More ...getCeilingEntry(K key) {
387         Entry p = root;
388         while (p ! ...

很高兴和你讨论。
首先,很高兴你去看了部分源码,但我想大部分人应该都知道treemap的时间复杂度。
其次,我并没有提到过用treemap实现。有许多的类都继承了sortmap,并不是只有一个treemap。所以我不太理解你在这里贴treemap代码的用意。

既然你都知道有可能说有其他的实现,你不如通过我说的方法名来搜索。

回复

使用道具 举报

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

本版积分规则

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