聊聊跟三哥三姐面试和共事的经历

一亩三分地论坛

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

Zenefits OA1 Test 全过 20151014

[复制链接] |试试Instant~ |关注本帖
eval 发表于 2015-10-30 01:51:20 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类General 硕士 全职@Zenefits - 内推 - 在线笔试  | Pass | fresh grad应届毕业生

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

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

x
先感谢版上热心前辈内推.

OA1感觉是比较简单的一套, 有幸抽中了这个. 看论坛上有些帖子说OA1有些testcase过不了, 我把我的solution分析一下.
. more info on 1point3acres
题目我就不说了, 随便一搜就有了.

1. BST那个

leetcode原题, 去discuss看, 有用stack解的, 很简洁. 我当时用的是recursive解法, 也能过, WA了n多次 。。。

2. Stack那个 来源一亩.三分地论坛.

具体题目记不太清了, 大概就是一种stack支持一种区间的inc操作. 其实这题并不需要高深的data structure和algorithm, 我还是直接贴代码吧, 每个operation复杂度是常数.

  1. n = input()
  2. A = []
  3. D = [0] * n

  4. for _ in range(n):
  5.     cmds = raw_input().split()
  6.     op = cmds[0]
  7.     if op == 'push':
  8.         num = int(cmds[1])
  9.         A.append(num)
  10.         print A[-1]. 1point3acres

  11.     elif cmd == 'pop':
  12.     l = len(A) 来源一亩.三分地论坛.
  13.     A.pop(). 围观我们@1point 3 acres
  14.     if l-2 >= 0:. 一亩-三分-地,独家发布
  15.         D[l-2] += D[l-1]
    . from: 1point3acres
  16.         D[l-1] = 0
  17.         if l == 1:
  18.     print 'EMPTY'
  19.         else:
  20.     print A[-1] + D[l-2]
  21.    
  22.     else:
    . 牛人云集,一亩三分地
  23.     x, d = map(int, cmds[1:]).1point3acres网
  24.     D[x-1] += d.本文原创自1point3acres论坛
  25.     l = len(A)
  26.     print A[-1] + D[l-1]
复制代码

补充内容 (2015-10-30 01:54):
擦,从19之后缩进乱了 == 19行在if外面, 我在二楼重贴一下吧
 楼主| eval 发表于 2015-10-30 01:54:38 | 显示全部楼层

  1. n = input(). From 1point 3acres bbs
  2. A = []
  3. D = [0] * n

  4. for _ in range(n):
    . 牛人云集,一亩三分地
  5.     cmds = raw_input().split()
  6.     op = cmds[0]
  7.     if op == 'push':
  8.         num = int(cmds[1])
  9.         A.append(num)
  10.         print A[-1]. Waral 博客有更多文章,

  11.     elif cmd == 'pop':-google 1point3acres
  12.         l = len(A)
  13.         A.pop()
  14.         if l-2 >= 0:
  15.             D[l-2] += D[l-1]
  16.         D[l-1] = 0
  17.         if l == 1:
  18.             print 'EMPTY'
  19.         else:-google 1point3acres
  20.             print A[-1] + D[l-2]
  21.    
  22.     else:
  23.         x, d = map(int, cmds[1:]).留学论坛-一亩-三分地
  24.         D[x-1] += d
  25.         l = len(A)
  26.         print A[-1] + D[l-1]
复制代码
回复 支持 反对

使用道具 举报

genonashi 发表于 2015-10-30 04:58:57 | 显示全部楼层
问一下楼主,这个increase操作其中有个参数是b,代表前面b个数都加某个值,这个b有可能大于已经在stack中数的个数吗?
回复 支持 反对

使用道具 举报

 楼主| eval 发表于 2015-10-30 05:30:16 | 显示全部楼层
genonashi 发表于 2015-10-30 04:58
问一下楼主,这个increase操作其中有个参数是b,代表前面b个数都加某个值,这个b有可能大于已经在stack中数 ...
. more info on 1point3acres
我似乎没考虑这个问题
回复 支持 反对

使用道具 举报

genonashi 发表于 2015-10-30 05:50:23 | 显示全部楼层
genonashi 发表于 2015-10-30 04:58
问一下楼主,这个increase操作其中有个参数是b,代表前面b个数都加某个值,这个b有可能大于已经在stack中数 ...

谢楼主。再多问一下问题,从你的code中,你似乎设了一个superstack的size数(n)。这也是当时oa要求的吗?
回复 支持 反对

使用道具 举报

 楼主| eval 发表于 2015-10-30 05:59:12 | 显示全部楼层
genonashi 发表于 2015-10-30 05:50
谢楼主。再多问一下问题,从你的code中,你似乎设了一个superstack的size数(n)。这也是当时oa要求的吗 ...

n是operation个数, A是我动态维护的一个stack,并没有care长度
回复 支持 反对

使用道具 举报

genonashi 发表于 2015-10-30 15:43:37 | 显示全部楼层
非常感谢lz的解释~~
回复 支持 反对

使用道具 举报

wegnahz 发表于 2015-11-3 05:09:12 | 显示全部楼层
这个题写C++的注意了,用cin cout会超时,得改成scanf 和printf,真尼玛蛋疼。
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

JamesJi 发表于 2016-1-12 02:52:25 | 显示全部楼层
请问一下楼主,hackerrank需要自己写stdin和out,对于二叉树这里是怎么处理的呢··
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2018-5-22 11:00

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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