由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 面试题:设计一个expired map class
相关主题
请教如何提高C++编程?今天收到OPT的EAD,上面的生效日是2月12日,Expired Day是11月15日,不是12个月吗,为什么少了三月呢?
面试题如果需要用到Linked list问一个阿三出的面试题: 什么是iterator invalidation?
问几个面试题问问谁会这道算法的面试题?
大家帮忙看看这个4sum怎么就不对求问一道面试题
关于用STL实现LRU cache大家推荐几个比较适合做面试题的 c++ 问题吧
也说两个面试题【工作机会】NYC银行 python developer职位
[合集] 工作签证办下来了KCG面经
h1b transfer的时候h4要不要一起?【工作机会】加州湾区Software Enginee (C/C++)
相关话题的讨论汇总
话题: map话题: class话题: 删除话题: 面试题话题: 时间
进入JobHunting版参与讨论
1 (共1页)
a*******n
发帖数: 64
1
题目大概是:设计一个类似于普通map的class,主要的不同是添加每个元素的时候,有
一个时间参数long type, 单位是ms。比如50000,如果50000ms passes,这个元素没有
被人为删除的话,它需要被自动删除。base class的定义myMap::add, myMap::erase都
是pure virtual function。
我当时给出的答案是用STL::map存储,然后用STL:unordred_map存储<
current_time+时间参数, a list of elements of 1st map>,系统时间前进的时候,
去第二个map里找到list删除第一个map里的element。答得很笼统,当时要求写具体的
code,不知道C++里涉及到系统时间的函数是啥。
s****3
发帖数: 270
2
感觉楼主方向没问题啊
C*****n
发帖数: 1049
3
这样能不能满足要求?
hashmap>
查询的时候如果时间已经过了exp_time直接删除,返回null
a*******n
发帖数: 64
4
这个不满足,题目要求时间到必须删除。

【在 C*****n 的大作中提到】
: 这样能不能满足要求?
: hashmap>
: 查询的时候如果时间已经过了exp_time直接删除,返回null

t**n
发帖数: 272
5
用priority_queue, pq的排序按照expiration time排。

【在 a*******n 的大作中提到】
: 题目大概是:设计一个类似于普通map的class,主要的不同是添加每个元素的时候,有
: 一个时间参数long type, 单位是ms。比如50000,如果50000ms passes,这个元素没有
: 被人为删除的话,它需要被自动删除。base class的定义myMap::add, myMap::erase都
: 是pure virtual function。
: 我当时给出的答案是用STL::map存储,然后用STL:unordred_map存储<
: current_time+时间参数, a list of elements of 1st map>,系统时间前进的时候,
: 去第二个map里找到list删除第一个map里的element。答得很笼统,当时要求写具体的
: code,不知道C++里涉及到系统时间的函数是啥。

s****3
发帖数: 270
6
马上删除? 那感觉必须用另一个执行绪帮忙monitor 了?
r*******e
发帖数: 7583
7
跟定时器差不多吧

【在 s****3 的大作中提到】
: 马上删除? 那感觉必须用另一个执行绪帮忙monitor 了?
w*******i
发帖数: 186
8
感觉你可以用eager mode也可以用lazy mode。eager mode就是到了expiration time也
不删,只是在用到那个entry的时候再顺便删掉,优点是实现简单省计算量,缺点是如
果使用不平凡就占空间了。eager mode就跟你说的差不多,需要另外有个程序定时检查
最小堆。其实如果元素加入频繁,expiration时间长的话,那么多指针放在额外的堆里
也会占不少空间的。具体情况得具体分析。
1 (共1页)
进入JobHunting版参与讨论
相关主题
【工作机会】加州湾区Software Enginee (C/C++)关于用STL实现LRU cache
Got an offer也说两个面试题
总结一下这个版上的热门公司,招的都是什么样的人![合集] 工作签证办下来了
读书计划h1b transfer的时候h4要不要一起?
请教如何提高C++编程?今天收到OPT的EAD,上面的生效日是2月12日,Expired Day是11月15日,不是12个月吗,为什么少了三月呢?
面试题如果需要用到Linked list问一个阿三出的面试题: 什么是iterator invalidation?
问几个面试题问问谁会这道算法的面试题?
大家帮忙看看这个4sum怎么就不对求问一道面试题
相关话题的讨论汇总
话题: map话题: class话题: 删除话题: 面试题话题: 时间