《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 3712|回复: 12
收起左侧

Dropbox OA题目及解法

[复制链接] |试试Instant~ |关注本帖
甜筱瞳 发表于 2016-9-22 01:36:17 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Dropbox - 网上海投 - 在线笔试 |Passfresh grad应届毕业生

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

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

x
刚做完Dropbox OA, 感谢大牛们的分享,
在此贴出原题,.鏈枃鍘熷垱鑷1point3acres璁哄潧
https://www.dropbox.com/sh/jiedm ... IQAXXyfeCeVHfa?dl=0

10个testcase全过了
解法:
class GridIllumination:
        def checkIllumination(self, N, lamps, queries):
                row = {}
                col = {}
                dia = {}
                rdia = {}
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                S = set([])

                for lamp in lamps:
                        S.add(lamp).1point3acres缃
                        x = lamp[0]
                        y = lamp[1]. more info on 1point3acres.com
                        row[x] = row.get(x, 0) + 1
                        col[y] = col.get(y, 0) + 1
                        dia[x-y] = dia.get(x-y, 0) + 1
                        rdia[x+y] = rdia.get(x+y, 0) + 1-google 1point3acres

                ret = list()
                for query in queries:. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                        x = query[0]
                        y = query[1]

                        xs = [x-1, x, x+1]. 1point 3acres 璁哄潧
                        ys = [y-1, y, y+1]

                        ## turn off the light
                        for i in xs:. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                                if i>0 and i <= N:. Waral 鍗氬鏈夋洿澶氭枃绔,
                                        for j in ys:
                                                if j>0 and j <= N and (i, j) in S:. From 1point 3acres bbs
                                                        row -= 1
                                                        col[j] -= 1
                                                        dia[i-j] -= 1
.鏈枃鍘熷垱鑷1point3acres璁哄潧                                                        rdia[i+j] -= 1
                        dark = self.isDark(x, row) and self.isDark(y, col) and self.isDark(x-y, dia) and self.isDark(x+y, rdia)
                        if dark:
                                ret.append("DARK")
                        else: .1point3acres缃
                                ret.append("LIGHT")
. 1point 3acres 璁哄潧
                        ## turn on the light
                        for i in xs:
                                if i>0 and i <= N:
                                        for j in ys:.鐣欏璁哄潧-涓浜-涓夊垎鍦
                                                if j>0 and j <= N and (i, j) in S:
                                                        row += 1
                                                        col[j] += 1
                                                        dia[i-j] += 1
                                                        rdia[i+j] += 1
                return ret                        . from: 1point3acres.com/bbs
                . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        def isDark(self, i, map):
                if i in map:. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                        if map != 0: return False
                return True 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

if __name__ == "__main__":.1point3acres缃
        grid = GridIllumination()
        ret = grid.checkIllumination(8, [(4, 3), (4, 4)], [(3, 4), (7, 6)]). visit 1point3acres.com for more.
        print ret
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
. visit 1point3acres.com for more.




补充内容 (2016-9-22 01:47):
求米啊,呜呜呜~~~~(>_<)~~~~
更多图片 小图 大图
组图打开中,请稍候......

评分

6

查看全部评分

本帖被以下淘专辑推荐:

  • · 面经|主题: 22, 订阅: 0
wtcupup 发表于 2016-9-22 01:44:29 | 显示全部楼层
有两个issue,
. more info on 1point3acres.com
  1. if j>0 and j <= N and (i, j) in S:
  2.                                                         row -= 1
  3. 应该是 row[i] -=1. 鍥磋鎴戜滑@1point 3 acres

  4. if j>0 and j <= N and (i, j) in S:. From 1point 3acres bbs
  5.                                                         row += 1

  6. 应该是 row[i]+=1
复制代码
回复 支持 反对

使用道具 举报

 楼主| 甜筱瞳 发表于 2016-9-22 01:45:54 | 显示全部楼层

嗯呐,粘的时候粘错了:D
回复 支持 反对

使用道具 举报

 楼主| 甜筱瞳 发表于 2016-9-22 01:46:58 | 显示全部楼层
求米啊,呜呜呜呜~~~

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

小飞侠我去 发表于 2016-9-22 02:07:22 | 显示全部楼层
甜筱瞳 发表于 2016-9-22 01:46
求米啊,呜呜呜呜~~~

楼主海投后多久收到OA的?
回复 支持 反对

使用道具 举报

 楼主| 甜筱瞳 发表于 2016-9-22 02:15:54 | 显示全部楼层
小飞侠我去 发表于 2016-9-22 02:07
楼主海投后多久收到OA的?

差不多1-2天,因为邮件被分到垃圾箱了,等看到已经过期了又跟dropbox argue的。。
回复 支持 反对

使用道具 举报

cicean 发表于 2016-10-14 17:24:21 | 显示全部楼层
楼主 Java 干不了 (i, j) in S 这事啊。没法比较 int[i,j] in set<int[]> 是不是contains 啊
有没有亲知道怎么 存 pair 然后 search的时候 是O(1) 呢?
回复 支持 反对

使用道具 举报

hwu2498 发表于 2016-12-23 06:24:40 | 显示全部楼层
地理搜了搜dropbox的oa貌似就这一题。。。?
. From 1point 3acres bbs
补充内容 (2016-12-23 07:07):
楼主最后offer情况如何啊?
回复 支持 反对

使用道具 举报

tommyhahn 发表于 2016-12-30 00:22:11 | 显示全部楼层
你好!我用了这个代码在IDE里面试着跑了一下有点不太对啊。。。比如这个case跑出来的是Light, Light, 但是正确的应该是Dark, Light....能请麻烦再帮我看一下吗?代码就是上面的一样的代码。十分感谢!!!
回复 支持 反对

使用道具 举报

emma.young 发表于 2017-2-10 12:40:12 | 显示全部楼层
tommyhahn 发表于 2016-12-30 00:22
你好!我用了这个代码在IDE里面试着跑了一下有点不太对啊。。。比如这个case跑出来的是Light, Light, 但是 ...

isDark那个function里面应该是if map !=0: return False
.鏈枃鍘熷垱鑷1point3acres璁哄潧
补充内容 (2017-2-10 12:41):
应该是格式的问题,我打的也没显示,map后面应该有index i
回复 支持 反对

使用道具 举报

zoecczoe123 发表于 2017-2-12 08:02:24 | 显示全部楼层
楼主,题目没看懂。。。。。 可以解释一下吗? 为什么[3,4] 是dark呢?
回复 支持 反对

使用道具 举报

enjoytest 发表于 2017-3-1 14:13:09 | 显示全部楼层
Python真心看不懂,谁有JAVA或者C++版本的?
回复 支持 反对

使用道具 举报

bychen 发表于 2017-10-5 14:03:42 | 显示全部楼层
用rdia[x + y] input是 [3,2] 和[2,3]的时候 不是会加到一起吗
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-20 21:53

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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