一亩三分地论坛

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

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

Zenefits online test

[复制链接] |试试Instant~ |关注本帖
mglldjim 发表于 2015-6-6 13:51:52 | 显示全部楼层 |阅读模式

2015(4-6月) 分析|数据科学类 硕士 全职@Zenefits - 网上海投 - 在线笔试 |Otherfresh grad应届毕业生

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

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

x
一道题,90分钟,可以在线Debug.
给一个排好序的数组,如果其中含有3个consecutive pairs, 返回true,otherwise, 返回false。
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
Ex:
    [1, 2, 2, 3, 3, 4, 4, 5]   return true    (因为有subset[2, 2, 3, 3, 4, 4])
    [1, 2, 3, 3, 3, 4, 5, 5]   return false;

祝大家好运。

评分

1

查看全部评分

泡妞被妞泡 发表于 2015-6-12 22:38:41 | 显示全部楼层
请问这是申请Data Engineer那道题吗?我也是一道题90分钟,比较虚,找不到面经,没敢开始做。
回复 支持 反对

使用道具 举报

泡妞被妞泡 发表于 2015-6-12 22:55:25 | 显示全部楼层
几分钟就写出来个解法,时间复杂度是: O(6 * (n - 5)),是不是需要O(n)解法?
  1. public boolean consecutivePairs(int[] nums) {
  2.                 if (nums.length < 6) {
  3.                         return false;
  4.                 }

  5.                 int n = nums.length;

  6.                 for (int i = 0; i < n - 5; i++) {. visit 1point3acres.com for more.
  7.                         if (isValid(nums, i)) {
  8.                                 return true;. 1point3acres.com/bbs
  9.                         }
  10.                 }

  11.                 return false;
  12.         }
  13.        
  14.         //Determine if the 6 consecutive numbers are valid consecutive pairs.
  15.         private boolean isValid(int[] nums, int start) {
  16.                 if (nums[start] == nums[start + 1]
  17.                                 && nums[start + 1] + 1 == nums[start + 2]. From 1point 3acres bbs
  18.                                 && nums[start + 2] == nums[start + 3]
  19.                                 && nums[start + 3] + 1 == nums[start + 4]. 1point 3acres 璁哄潧
  20.                                 && nums[start + 4] == nums[start + 5]) {
  21.                         return true;
  22.                 } else {
  23.                         return false;
  24.                 }
  25.         }
复制代码
回复 支持 反对

使用道具 举报

anonym 发表于 2015-6-14 05:54:59 | 显示全部楼层
请问这个consecutive pairs是怎样的定义的
[1,1,3,3,5,5]这样中间缺2和4的行不行
回复 支持 反对

使用道具 举报

 楼主| mglldjim 发表于 2015-6-16 05:32:08 | 显示全部楼层
anonym 发表于 2015-6-14 05:54
请问这个consecutive pairs是怎样的定义的
[1,1,3,3,5,5]这样中间缺2和4的行不行

Consecutive pairs ...... 连续的对儿, 当然必须是类似于[1,1,2,2,3,3] [6,6,7,7,8,8] 这样的。。。。。。
回复 支持 反对

使用道具 举报

 楼主| mglldjim 发表于 2015-6-16 05:32:44 | 显示全部楼层
泡妞被妞泡 发表于 2015-6-12 22:38
请问这是申请Data Engineer那道题吗?我也是一道题90分钟,比较虚,找不到面经,没敢开始做。

是,我也没找到思路,然后就直接用HashMap了。。。。。。
回复 支持 反对

使用道具 举报

zihunlei 发表于 2015-6-16 20:26:27 | 显示全部楼层
哇 你们都是90分钟的 哇是180分钟的  为什么呀 瞧不起我吗!!
回复 支持 反对

使用道具 举报

zihunlei 发表于 2015-6-16 20:52:28 | 显示全部楼层
刚无聊写了一段,借助三个辅助辆然后复杂度0n  原理也很简单, 见笑啦
  1. public boolean isconsecutivePairs(int[] array){. 1point3acres.com/bbs
  2.                 boolean isPair = false;
  3.                 int length = 0;
  4.                 if(array.length == 0){
  5.                         return false;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  6.                 }
  7.                 int current = array[0];
  8.                 for(int i=1; i<array.length; i++){
  9.                         if(!isPair){. visit 1point3acres.com for more.
  10.                                 if(array[i] == current){
  11.                                         current = array[i];
  12.                                         isPair = true;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  13.                                         length++;. visit 1point3acres.com for more.
  14.                                 }else{
  15.                                         length = 0;
  16.                                         isPair = false;
  17.                                 }
  18.                         }else{
  19.                                 if(array[i]==current&&length==1){

  20.                                 }else if(array[i] == current+1){
  21.                                         isPair = false;
  22.                                         current ++;. 1point3acres.com/bbs
  23.                                 }else{. from: 1point3acres.com/bbs
  24.                                         length = 0;. Waral 鍗氬鏈夋洿澶氭枃绔,
  25.                                         isPair = false;
  26.                                 }
  27.                         }
  28.                         if(length>=3){
  29.                                 return true;
  30.                         }. 1point3acres.com/bbs
  31.                 }
  32.                 return false;
  33.         }
复制代码
回复 支持 反对

使用道具 举报

anonym 发表于 2015-6-17 00:38:25 | 显示全部楼层
mglldjim 发表于 2015-6-15 16:32
Consecutive pairs ......  连续的对儿, 当然必须是类似于[1,1,2,2,3,3] [6,6,7,7,8,8] 这样的 ...

但是consecutive也可以指这三个pair在位置上是连续的而不是指它们的值是连续的……
请问你写的这两个例子是原题给的吗?如果是那应该是我理解错了。
回复 支持 反对

使用道具 举报

shenpabk 发表于 2015-6-19 02:23:54 | 显示全部楼层
今天刚做的oa,和楼主说的一样,真心感谢楼主
回复 支持 反对

使用道具 举报

@南岸的风 发表于 2015-6-22 02:02:55 | 显示全部楼层
请问楼主可以分享一下oa之后的电面吗?多谢!
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 23:34

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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