在国外一跟老外吵架口语立刻就不够用了

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 2112|回复: 7
收起左侧

口袋宝石一面

[复制链接] |试试Instant~ |关注本帖
zty920317 发表于 2016-11-3 12:07:01 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类General 硕士 实习@PoketGem - 网上海投 - 技术电面  | Pass | fresh grad应届毕业生

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

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
面的是一个白人小哥,两道题,都是地里有的,一道strStr,另外一道就是那个什么RPG游戏,根据给的物品信息, 给的物品以及背包格子的数量求背包里能装最多价值多少的物品。第二题大概物品信息的格式是 ItemInfo: name, value, maximum_num_per_slot。 maximum_num_per_slot表示背包里一个格子最多可以放多少个这个物品。然后输入就是物品信息,背包格子数量以及一个包含物品名字的数组。我用贪心直接一个格子一个格子算的,感觉没什么问题。每个问题小哥问时间复杂度都问的比较细。全程小哥感觉都非常疲惫,说话都有气无力。最后问问题环节直接问了一下他们家新游戏War Dragon的问题,以为可以让小哥兴奋一点儿没想到小哥还是一如既往。。。。。。感觉强行拉着小哥聊了会儿总之发个面经求各种过吧~. 围观我们@1point 3 acres

评分

1

查看全部评分

bobyuwenchen 发表于 2016-11-10 15:08:32 | 显示全部楼层
zty920317 发表于 2016-11-10 14:17
可能我说的不太清楚吧。举个例子,输入是8个宝石,10个沙子,两个盔甲。一个slot最多可以装5个宝石,或者 ...

谢谢lz的解释哈,这样的话你每次选择要O(n)遍历一遍所有的剩余物品,我意思是把东西换成价值放到PriorityQueue里可以是类似于Map.Entry的Object,那我每次只要O(lgn),然后另外一个Map就维护剩下的物品,比如8个宝石 一个宝石价值5 一个slot最多放5个宝石 我就把 (宝石,25)放到PriorityQueue,然后Map变成(宝石,3个)这意思,(宝石,25)poll出来了再把(宝石,15)放进去
回复 支持 1 反对 0

使用道具 举报

offeroffereee 发表于 2016-11-8 07:36:04 | 显示全部楼层
请问楼主第二题贪心怎么统计每个slot的最大值?
回复 支持 反对

使用道具 举报

 楼主| zty920317 发表于 2016-11-8 10:35:08 | 显示全部楼层
offeroffereee 发表于 2016-11-8 07:36. 1point 3acres 论坛
请问楼主第二题贪心怎么统计每个slot的最大值?

对于每个slot把所有剩下的物品都扫一遍,根据每个物品的信息和物品剩下的数量就知道这个格子可以放多少个这个物品(每个格子只能放一种物品),一直循环到没有物品剩下或者格子被用完了为止。
回复 支持 反对

使用道具 举报

bobyuwenchen 发表于 2016-11-8 15:45:08 | 显示全部楼层
zty920317 发表于 2016-11-8 10:35
对于每个slot把所有剩下的物品都扫一遍,根据每个物品的信息和物品剩下的数量就知道这个格子可以放多少个 ...

可以用PriorityQueue吗 然后更新Map 这样复杂度会不会低一点 不是很理解楼主题目的意思~
回复 支持 反对

使用道具 举报

 楼主| zty920317 发表于 2016-11-10 14:17:38 | 显示全部楼层
bobyuwenchen 发表于 2016-11-8 15:45
可以用PriorityQueue吗 然后更新Map 这样复杂度会不会低一点 不是很理解楼主题目的意思~

可能我说的不太清楚吧。举个例子,输入是8个宝石,10个沙子,两个盔甲。一个slot最多可以装5个宝石,或者放7个沙子,或者放一个盔甲。一个宝石值5,一个沙子值2,一个盔甲值15。然后你现在有三个slot,怎么放?第一个slot你就看,不然就放5个宝石,不然就放7个沙子,不然就放1个盔甲,明显放5个宝石最好对吧?然后对于第二个slot怎么办?不然就放3个宝石(只剩三个),不然就放7个沙子,不然放一个盔甲,这个时候发现放7个沙子这个slot价值最高。然后第三个slot,不然放3个宝石,不然放3个傻子,不然放1个盔甲,你发现放三个宝石或者一个盔甲都是最高,你就随便选一个放。所以3个slot一共最多可以放价值5*5 + 7 * 2 + 15 = 54的东西,这就是答案~
回复 支持 反对

使用道具 举报

 楼主| zty920317 发表于 2016-11-10 15:23:12 | 显示全部楼层
bobyuwenchen 发表于 2016-11-10 15:08
谢谢lz的解释哈,这样的话你每次选择要O(n)遍历一遍所有的剩余物品,我意思是把东西换成价值放到Priority ...

啊啊确实更好,不过我就用最naive的办法小哥也给过了。。。当时写完小哥就说可以你来问我问题吧所以就没有多想了
回复 支持 反对

使用道具 举报

bobyuwenchen 发表于 2016-11-15 08:35:46 | 显示全部楼层
zty920317 发表于 2016-11-10 15:23
啊啊确实更好,不过我就用最naive的办法小哥也给过了。。。当时写完小哥就说可以你来问我问题吧 ...
. visit 1point3acres for more.
哈哈 我也过了 strStr + top k frequent elements  = =水水的
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-23 23:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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