📣 独立日限时特惠: VIP通行证立减$68
楼主: jerrytjz
跳转到指定楼层
上一主题 下一主题
收起左侧

Linkedin 电面

🔗
say543 2018-1-11 15:46:21 | 只看该作者
全局:
hashMap<流水号, value> random delete 要swap pop or push 就是新增流水号 这样因该是amortized o(1)? 能接受吗?
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
 楼主| jerrytjz 2018-1-16 04:58:46 | 只看该作者
全局:
风不清 发表于 2018-1-16 03:23
请问一下hashMap + Doubly linkedList这个具体是什么做key, 什么做value 呀?

请看daguanyuan的回复,hashmap key是node reference, val是index
回复

使用道具 举报

🔗
eejchen 2018-1-16 08:03:10 | 只看该作者
全局:
这个题好难啊!面的时候碰到肯定死了。。。不理解random delete怎么实现。。。
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
 楼主| jerrytjz 2018-1-16 10:05:10 | 只看该作者
全局:
风不清 发表于 2018-1-16 08:12
谢谢楼主回复!我就是看了他写的然后有点confusing. 是不是 stack是用 doubly linkedlist 实现,然后再多 ...

需要三个数据结构,stack本身doubly linked list,然后需要利用利口380的方法,一个arraylist一个hashmap。
回复

使用道具 举报

🔗
BeStrong2017 2018-6-27 14:25:01 | 只看该作者
全局:
jerrytjz 发表于 2018-1-16 10:05
需要三个数据结构,stack本身doubly linked list,然后需要利用利口380的方法,一个arraylist一个hashmap ...

我觉得只需要一个hashmap和一个双链表就行了吧?
直接在存{node: idx}的hashmap里面random出来一个node, 然后去double linkedlist里面删除这个node, 就可以了吧
回复

使用道具 举报

🔗
wanxin0001 2018-7-15 13:47:05 | 只看该作者
全局:
BeStrong2017 发表于 2018-6-27 14:25
我觉得只需要一个hashmap和一个双链表就行了吧?
直接在存{node: idx}的hashmap里面random出来一个node,  ...

怎么保证用O(1)的复杂度 在hashmap里找到一个random node?
回复

使用道具 举报

🔗
charlieqc 2018-8-2 15:06:56 | 只看该作者
全局:
谢谢大大分享!!
回复

使用道具 举报

🔗
EETHAN 2018-10-8 07:03:29 | 只看该作者
全局:
分享一下我的想法,看看对不对,借鉴了LC380 的想法, 三种操作都是 O(1) 的时间复杂度
会需要用到 double linked list,array 和 hashmap

push:
  • 创建一个新的 node, 添加到 list 的队尾
  • 将此 node 加入 array
  • 将此 node 和在 array 中的 index 加入 hashmap (node作为 key,index作为 value)


pop:
  • 把 list 的最后一个 node 从 list 中去除
  • 从 hashmap 得到此 node 在 array 中的 index,然后将此 node 从 hashmap 中删除
  • 将此 node 与 array 最后一个元素 (记为 node_a) 互换位置, 同时更新 hashmap 中 node_a 的 index,然后将 array 的队尾去除


randomRemove:
  • 用 random 函数得到一个在array长度范围内的随机整数,作为 index,得到在 array 中此 index 上的 node
  • 用 pop 第2,3步类似的方法将此 node 从 array 和 hashmap 中删除
  • 将此 node 从 list 中删除


回复

使用道具 举报

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

本版积分规则

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