一亩三分地论坛

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

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

zenefit 电面面经整合

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

2015(4-6月) 码农类 硕士 全职@zenefit - 网上海投 - 技术电面 |Failfresh grad应届毕业生

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

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

x
之前面试zenefit整理地理的面经,希望对要面的同学有帮助,虽然这家跪了,求人品
stack
expression evalution
   有点像 reverse polish notation 的变种,计算一个表达式的值的。要求自行设计表达式的数据结构并计算表达式的值。

有几种特殊情况.鐣欏璁哄潧-涓浜-涓夊垎鍦
1. 单输入一个数,比如 [0],是合法,结果为0;-google 1point3acres.鏈枃鍘熷垱鑷1point3acres璁哄潧
2. 单输入一个运算符也是合法的。 无数字运算的 '+', '-', '/' 结果为 0, 单个 '*' 的结果为 1.
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴3. 一个运算符可以有好几个计算数字。 比如输入为 ['+', 1, 2, 3],结果为1 + 2 + 3 = 6
4. 表达式可嵌套,['+', 1, 2, ['*', 1, 3]],这样结果为 1 + 2 + 1 * 2 = 5.. 1point3acres.com/bbs
输入一定合法,不用考虑给了两个连续数字却没有运算符的情况,也不用考虑除数为0的情况。. From 1point 3acres bbs
我的做法为新建一个 Expression 类,用于解决输入包含运算符,数字,或者expression三种情况,这样输入就可以为一个Expresssion 的List,再用一个Queue来决定问题。不知道有没有大神有更好的做法。
use two stack to store the operation, nums. if cur operation is small or equal to previous one, the
3 sum smaller
input 為兩個輸入
1. integer
2. list
計算 list中滿足 三個值的和 小於或等於 integer 的數目

e.q.
integer = 8
list = [1, 2, 3, 4, 6]
if  only need the count of result, then build segment tree to store who many uniq nums in each segment. the time complexity is n^2 log N.鏈枃鍘熷垱鑷1point3acres璁哄潧
if need to return all combination, the time complexity is n^3.
  public static ArrayList<ArrayList<Integer>> threeSumEqualOrLess(int[] data, int target) {
    ArrayList<ArrayList<Integer>> output = new ArrayList<>();
    if(data == null || data.length == 0) {
      return output;
    }.鏈枃鍘熷垱鑷1point3acres璁哄潧
    Arrays.sort(data);
    for(int i = 0; i < data.length - 2; i++) {
      if(i == 0 || data != data[i - 1]) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
        int sum = target - data;
        int start = i + 1;
. 1point 3acres 璁哄潧        int end = data.length - 1;
        while(start < end) {
          if(data[start] + data[end] <= sum) {
           //need to dedup with merge backWords
            ArrayList<ArrayList<Integer>> temp = mergeAllEndBackwardsResult(data, i, start, end);
            output.addAll(temp);.1point3acres缃. visit 1point3acres.com for more.

            start++;
            while (start < end && data[start] == data[start - 1])
              start++;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
          } else {. Waral 鍗氬鏈夋洿澶氭枃绔,
            end--;. From 1point 3acres bbs
          }
. visit 1point3acres.com for more.        }
      }
    }.1point3acres缃
    return output;
  }

  public static ArrayList<ArrayList<Integer>> mergeAllEndBackwardsResult(int[] data, int i, int j, int k) {
    ArrayList<ArrayList<Integer>> output = new ArrayList<>();
    while(j < k) {
      ArrayList<Integer> temp = new ArrayList<Integer>();
      temp.add(data);
      temp.add(data[j]);
      temp.add(data[k]);
      output.add(temp);.鏈枃鍘熷垱鑷1point3acres璁哄潧
      System.out.println("mergeToAResult" + Arrays.toString(temp.toArray()));
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
      k--;
      //avoid duplicate solutions.鏈枃鍘熷垱鑷1point3acres璁哄潧
      while (j < k && data[k] == data[k + 1])
        k--;

    }
    return output;
  }

super stack
操作有push, pop。 还有一个是inc a b。实现stack的bottom a个数都加b. 鍥磋鎴戜滑@1point 3 acres
use dequeue, push pop in one side and inc(a,b) in another side

实现一个数据结构包含三个功能,push, pop, getmin,time complexity均要为O(1), 不可以调用API,自己实现了double linkedlist,而且要求只用一个list
push the element in one side and the minimum element in another side.

HashMap
LRU Cache
Queue.鐣欏璁哄潧-涓浜-涓夊垎鍦
题目巨长输入格式是. 1point3acres.com/bbs. Waral 鍗氬鏈夋洿澶氭枃绔,
1
2.
就是说 第1行第1个是queen 第2行第2个是queen,并保证输入的数字不重复,这样可以得出一个结论:同一行 同一列不会出现2个queen。
题目要求是求出 对于每个Queen, 最大的威胁次数,威胁指只要一个queen所能移动的范围内有别的queen就算威胁 P.S.同一方向上有2个queen威胁你 只算最近的那个。
由于同一行 同一列不会出现2个queen。(由于输入限制)所以只要考虑对角线 和逆对角线。
举个例子: 棋盘是:
100           ---- 1号 queen
010           ---- 2号 queen
001           ---- 3号 queen 鏉ユ簮涓

补充内容 (2015-6-1 01:03):
.鐣欏璁哄潧-涓浜-涓夊垎鍦本来想直接贴出来, 发现帖子有字数限制,面经放在附件里面了. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

补充内容 (2015-6-1 01:05):
发不了附件 重新开个帖子吧,版主可以把这个帖子删掉了

补充内容 (2015-6-1 01:09):
研究了下,可以在回复里面添加附件

评分

4

查看全部评分

 楼主| mm豆 发表于 2015-6-1 01:08:36 | 显示全部楼层
整理的文件在附件里,请把后缀名改成txt. 这是一个txt文件

补充内容 (2015-6-2 09:14):. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
txt看不了的同学,pdf的在这里
http://www.1point3acres.com/bbs/thread-135636-1-1.html

zenefit.pdf

30.83 KB, 下载次数: 32, 下载积分: 大米 -1 升

回复 支持 反对

使用道具 举报

 楼主| mm豆 发表于 2015-6-2 09:14:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-1-20 01:04

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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