一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1507|回复: 7
收起左侧

Zenefits 测试2

[复制链接] |试试Instant~ |关注本帖
wasabi_akira 发表于 2015-4-6 04:59:08 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类 硕士 全职@Zenefits - 内推 - 在线笔试 |Otherfresh grad应届毕业生

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

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

x
刚做完测试,来给大家分享一下。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

第一个题是让我们从一个全是0或1的array里面来作翻转(翻转的意思就是0变1,1变0),比如0,1,0,1,1。问翻转后能得到最多几个1?对于这个例子来说,答案应该是4个。比如单独翻转位置0,单独翻转位置1,或者翻转区间0-2。这道题如果我们把0考虑成-1就好做多了,因为-1 和 1 如果我们求和运算的话,刚好抵消,这样就可以求出翻转区间的sum。如果curSum大于0,则说明1比较多,那么我们肯定不能翻转1,继续loop。如果curSum<0,我们就求出最小的那个值,即为翻转区间的和。. 1point 3acres 璁哄潧

第二个题是毛毛虫吃树叶的问题,看了下应该是容斥原理。但是LZ把自己绕进去了,没太理解。可以参考这个链接,说的很清楚。如果还有不懂可以讨论哈,反正我就当打怪升级了,大家加油好了:)
. Waral 鍗氬鏈夋洿澶氭枃绔,
nibuxing 发表于 2015-4-7 04:59:49 | 显示全部楼层
第一题能具体说一下怎么做吗。。。想了半个小时没想出来。。。
回复 支持 反对

使用道具 举报

 楼主| wasabi_akira 发表于 2015-4-7 05:09:10 | 显示全部楼层
nibuxing 发表于 2015-4-7 04:59
第一题能具体说一下怎么做吗。。。想了半个小时没想出来。。。

好的,没问题啊。
主要的思想是用-1替代0来简化flip区间的搜索。
  1. for ( range of array ) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
  2.   if (arr[i] == 0) {
    . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  3.     --curSum; //当做负一
  4.   } else if (arr[i] == 1) {
  5.     ++curSum;
  6.     ++oneCount;  //数总共的一的数目
  7.   }
  8.   
  9.   // >0 说明有1或者1比较多,
  10.   // 这个区间是我们不想翻转的
  11.   if (curSum > 0) {
  12.      curSum = 0 // 重新来
  13.   } else if (curSum < minSum) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  14.     minSum = curSum // 记录最小
  15.   }
  16. }
复制代码
不知道这样清楚一点了吗?
我一会儿私信你我的微信哈。
回复 支持 反对

使用道具 举报

nibuxing 发表于 2015-4-7 05:19:47 | 显示全部楼层
wasabi_akira 发表于 2015-4-7 05:09
好的,没问题啊。
主要的思想是用-1替代0来简化flip区间的搜索。不知道这样清楚一点了吗?
我一会儿私 ...

会了,非常感谢,楼主很聪明...
回复 支持 反对

使用道具 举报

 楼主| wasabi_akira 发表于 2015-4-7 05:22:07 | 显示全部楼层
nibuxing 发表于 2015-4-7 05:19
会了,非常感谢,楼主很聪明...

. more info on 1point3acres.com 其实我也是看来的,哈哈!加油哈~
回复 支持 反对

使用道具 举报

nibuxing 发表于 2015-4-7 05:32:19 | 显示全部楼层
wasabi_akira 发表于 2015-4-7 05:22. Waral 鍗氬鏈夋洿澶氭枃绔,
其实我也是看来的,哈哈!加油哈~

他家OA还真有难度,你有电面吗
回复 支持 反对

使用道具 举报

gaohannk 发表于 2015-4-7 09:01:19 | 显示全部楼层
楼主题目里面没说必须反转连续区间嘛,我说怎么看不懂呢!
回复 支持 反对

使用道具 举报

 楼主| wasabi_akira 发表于 2015-4-7 09:21:25 | 显示全部楼层
gaohannk 发表于 2015-4-7 09:01
楼主题目里面没说必须反转连续区间嘛,我说怎么看不懂呢!

啊哈哈哈,我的错我的错,是得连续的。
而且只能转一次来得到最大数量的1,不能多次。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-7 18:32

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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