近期论坛无法登录的解决方案


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 3306|回复: 10
收起左侧

Zenefits online test

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

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

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

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

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]). 鍥磋鎴戜滑@1point 3 acres
    [1, 2, 3, 3, 3, 4, 5, 5]   return false;

祝大家好运。

评分

1

查看全部评分

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

使用道具 举报

泡妞被妞泡 发表于 2015-6-12 22:55:25 | 显示全部楼层
关注一亩三分地微博:
Warald
几分钟就写出来个解法,时间复杂度是: 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++) {
  7.                         if (isValid(nums, i)) {
  8.                                 return true;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  9.                         }
  10.                 }
  11. -google 1point3acres
  12.                 return false;. 1point 3acres 璁哄潧
  13.         }
  14.        
  15.         //Determine if the 6 consecutive numbers are valid consecutive pairs.
  16.         private boolean isValid(int[] nums, int start) {. visit 1point3acres.com for more.
  17.                 if (nums[start] == nums[start + 1]
  18.                                 && nums[start + 1] + 1 == nums[start + 2]
  19.                                 && nums[start + 2] == nums[start + 3]
  20.                                 && nums[start + 3] + 1 == nums[start + 4]
  21.                                 && nums[start + 4] == nums[start + 5]) {
  22.                         return true;
  23.                 } else {
  24.                         return false;
  25.                 }. From 1point 3acres bbs
  26.         }
复制代码
回复 支持 反对

使用道具 举报

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的行不行
. 1point3acres.com/bbs
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){. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  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){
  10.                                 if(array[i] == current){.鐣欏璁哄潧-涓浜-涓夊垎鍦
  11.                                         current = array[i];
  12.                                         isPair = true;
  13.                                         length++;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  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 ++;
  23.                                 }else{
  24.                                         length = 0;
  25.                                         isPair = false;
  26.                                 }
  27.                         }
  28.                         if(length>=3){
  29.                                 return true;
  30.                         }
  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在位置上是连续的而不是指它们的值是连续的……
.鏈枃鍘熷垱鑷1point3acres璁哄潧请问你写的这两个例子是原题给的吗?如果是那应该是我理解错了。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-6-29 13:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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