一亩三分地

 找回密码 注册账号

扫描二维码登录本站


Salarytics=Salary Analytics
查询工资数据
系统自动计算每年收入

码农求职神器Triplebyte
不用海投
内推多家公司面试

科技公司如何
用数据分析驱动产品开发
coupon code 250off 立减$250

深入浅出AB Test
从入门到精通
coupon code 250off 立减$250
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 528|回复: 3
收起左侧

Amazon 湾区Alexa组烙印电面

[复制链接] |试试Instant~
我的人缘0

分享帖子到朋友圈
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (25)
 
 
0% (0)    👎

2018(7-9月) 码农类General 博士 全职@Amazon - 内推 - 技术电面  | Fail/Rej | 在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
You have a server (DHCP) that vends new IP addresses to devices connecting to the network for the first time.
It internally keeps a log of all IP addresses currently in use in a simple text file on disk.
Your job i
游客,本帖隐藏的内容需要积分高于 155 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
onnection/device.
(Assume the server has limited RAM)

评分

参与人数 4大米 +7 收起 理由
sunnyday123 + 1 very practical question!
oscar17 + 2 很有用的信息!
liqingfd + 1 很有用的信息!
uestchx1 + 3 很有用的信息!

查看全部评分


上一篇:LinkedIn家里电面
下一篇:Amazon 店面,在北美的第一次技术面试,新人求加米
我的人缘0
 楼主| ssunrising 2019-6-17 03:24:07 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   100% (25)
 
 
0% (0)    👎

[hide=150]
解法思路:
Solution Proposal: (来自一位高人)
1. 通过扫描一次文件, 把所有使用过的IP地址处理成互不重叠的区间的集合, e.g.
[IP1, IP2], [IP9, IP11], [IP22, IP30] .... [IP77, IP100]
假定IP1是已使用最小的IP地址, IP100是最大的地址.

2. 把上面这些区间构建成BST二叉搜索树, 每个节点存储一个区间, 排序的key可以是区间的左端点

3. 同时, 我们维护一个指针Ptr, 总指向BST的最左子节点称为A, 就是[IP1, IP2]所在的区间实际上

4. Now当新IP地址请求到来, 我们就查看Ptr指向的最左子节点A, 可以把右区间地址+1, 来作为返回结果

5. 同时, 如果最左子节点的下一个节点B(即中序遍历的下一个节点), 如果B的左区间跟A的右区间+1二者形成相邻值了, 那我们需要merge两个区间node, 这个操作会有一些逻辑trick, 但是也是O(1)复杂度实际上

如上, 就可以维护一个BST, 同时以O(1)时间复杂度给出下一个可用IP, 同时需要存储的空间复杂度远低于hashmap和trie我觉得.
请参考指正哈, 谢谢!!
[\hide]  
回复

使用道具 举报

我的人缘0
easonlyx 2019-5-29 02:56:05 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (29)
 
 
0% (0)    👎
这题怎么做啊?
回复

使用道具 举报

我的人缘0
 楼主| ssunrising 2019-6-17 03:18:38 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (25)
 
 
0% (0)    👎
但是答的trie,好像不怎么对。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版||一亩三分地

GMT+8, 2019-9-20 02:59

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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