Berkeley biostat应该是biostat里最非传统,最偏ml的超棒项目了!

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
前Google华人高管创立
面试offer一键直通
Leap.ai助你进入热门独角兽
查看: 2654|回复: 10
收起左侧

SnapChat Full-Time 电面

[复制链接] |试试Instant~
我的人缘0
tj474474 发表于 2016-10-20 10:45:47 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (11)
 
 
0% (0)  踩

2016(10-12月) 码农类General 硕士 全职@Snapchat - 网上海投 - 技术电面  | Other | fresh grad应届毕业生

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

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

x
今天下午的电面是一个国人小哥先聊了15分钟他的组 还有履历上的东西
然后就做题
Meeting Room ll的变化版
不是计算最少需要几个meeting room. Waral 博客有更多文章,
还要把schedule的结果列出来
例如
Inputs: Meetings, [4, 9], [2, 6], [2, 3], [6, 7]. Waral 博客有更多文章,
Outputs:
Room1 : [2, 3], [4, 9]
Room2 : [2, 6], [6, 7]

我的做法是先把所有的schedule根据start time sort
. 1point 3acres 论坛同时还用了一个PriorityQueue
顺序是根据schedule的end time.

PriorityQueue的Node我还多放了一个该event被存放的roomId. more info on 1point3acres
这样从PrioirtyQueue里面pop出来的时候就可以直接找到需要添加的room.1point3acres网
我的面試官挺好的 因為我提出這個做法
他直接就跟我說那你input就用你這個List<Node>吧
. visit 1point3acres for more.
不过最后compile有个小bug
因为时间到了没弄完
还是希望有onsite...
附上代碼
  1. import java.util.*;

  2. class Node {
  3.     public int roomId;
  4.     public List<Integer> interview;
  5.     public Node(List<Integer> interview) {
  6.         this.interview = interview;
  7.     }
  8. }

  9. class Solution {.本文原创自1point3acres论坛
  10.     static void schedule(List<Node> interviews) {
  11.         List<List<List<Integer>>> result = new ArrayList<>();. 1point 3acres 论坛
  12.         PriorityQueue<Node> pq = new PriorityQueue(1, new Comparator<Node>(){.留学论坛-一亩-三分地
  13.             @Override
  14.             public int compare(Node a, Node b) {. more info on 1point3acres
  15.                 return a.interview.get(1) - b.interview.get(1);
  16.             }
  17.         });
  18.         
  19.         Collections.sort(interviews, new Comparator<Node>(){. From 1point 3acres bbs
  20.             @Override
  21.             public int compare(Node a, Node b) {
  22.                 return a.interview.get(0) - b.interview.get(0);. visit 1point3acres for more.
  23.             }
  24.         });
  25.         
  26.         int roomCount = 0;
  27.         for (Node n : interviews) {
  28.             if (pq.isEmpty()) {
  29.                 n.roomId = roomCount;
  30.                 result.add(new ArrayList<>());
  31.                 result.get(roomCount).add(n.interview);
  32.                 pq.offer(n);
  33.             } else {
  34.                 Node prevNode = pq.peek();
  35.                 if (n.interview.get(0) < prevNode.interview.get(1)) {. 1point3acres
  36.                     roomCount++;
  37.                     n.roomId = roomCount;. from: 1point3acres
  38.                     result.add(new ArrayList<>());
  39.                     result.get(roomCount).add(n.interview);
  40.                     pq.offer(n);. 留学申请论坛-一亩三分地
  41.                 } else {
  42.                     pq.poll();
  43.                     int prevRoomId = prevNode.roomId;
  44.                     n.roomId = prevRoomId;
  45.                     result.get(prevRoomId).add(n.interview);
  46.                     pq.offer(n);
  47.                 }. Waral 博客有更多文章,
  48.             }
  49.         }
  50.         for (int i = 0; i < result.size(); ++i) {
  51.             System.out.print("Room");. more info on 1point3acres
  52.             System.out.print(i + 1);
  53.             System.out.print(": ");. 围观我们@1point 3 acres
  54.             for (int j = 0; j < result.get(i).size(); ++j) {.1point3acres网
  55.                 System.out.print("[");
  56.                 System.out.print(result.get(i).get(j).get(0));
  57.                 System.out.print(", ");
  58.                 System.out.print(result.get(i).get(j).get(1));
  59.                 System.out.print("]");
  60.                 if (j < result.get(i).size() - 1) {. 留学申请论坛-一亩三分地
  61.                     System.out.print(", ");
  62.                 } else {.本文原创自1point3acres论坛
  63.                     System.out.print("\n");
  64.                 }
  65.             }.1point3acres网
  66.         }. 一亩-三分-地,独家发布
  67.     }
  68.    
  69.     static public void main(String args[]) {
  70.         //[4, 9], [2, 6], [2, 3], [6, 7]
  71.         Node n1 = new Node(Arrays.asList(4, 9));
  72.         Node n2 = new Node(Arrays.asList(2, 6));
  73.         Node n3 = new Node(Arrays.asList(2, 3));
  74.         Node n4 = new Node(Arrays.asList(6, 7));
  75.         List<Node> input = Arrays.asList(n1, n2, n3, n4);
  76.         schedule(input); 来源一亩.三分地论坛.
  77.     }   
  78. }
复制代码

评分

参与人数 2大米 +63 收起 理由
dobbin + 3 感谢分享!
candy_shmily + 60

查看全部评分


上一篇:google家电面
下一篇:yahoo ad onsite

本帖被以下淘专辑推荐:

我的人缘0
zwcelesta 发表于 2016-10-20 20:44:36 | 显示全部楼层
本楼: 【顶】   100% (4)
 
 
0% (0)   【踩】
全局: 顶  93% (57)
 
 
6% (4)  踩
    public Queue<LinkedList<Interval>> scheduledRooms (List<Interval> meetings) {
        Queue<LinkedList<Interval>> q = new PriorityQueue<>((o1, o2) -> o1.getLast().end - o2.getLast().end);
        Collections.sort(meetings, (o1, o2) -> o1.start == o2.start ? o1.end - o2.end : o1.start - o2.start);
        for (Interval meeting : meetings) {
            LinkedList<Interval> room = (q.isEmpty() || meeting.start < q.peek().getLast().end) ? new LinkedList<>() : q.poll();
            room.add(new Interval(meeting.start, meeting.end));
            q.offer(room);
        }
        while (!q.isEmpty()) {
            List<Interval> room = q.poll();
            room.forEach(i -> System.out.print("[" + i.start + "," + i.end + "], ")); 来源一亩.三分地论坛.
            System.out.println(" ");
        }
        return q;
    }

评分

参与人数 1大米 +50 收起 理由
jacksterling + 50 回答的很好!

查看全部评分

回复

使用道具 举报

我的人缘0
edyyy 发表于 2016-10-20 11:43:48 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  90% (150)
 
 
9% (16)  踩
谢谢楼主分享,祝好运
回复

使用道具 举报

我的人缘0
 楼主| tj474474 发表于 2016-10-20 22:40:31 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (11)
 
 
0% (0)  踩
zwcelesta 发表于 2016-10-20 20:44.1point3acres网
public Queue scheduledRooms (List meetings) {
        Queue q = new PriorityQueue((o1, o2) -> o ...

好简洁的方法!把LinkedList直接拿来当PriorityQueue的Key. more info on 1point3acres
还有Java 8的语法让代码看起来简单多了看来得多学学
回复

使用道具 举报

我的人缘0
linweihua0 发表于 2016-10-21 03:02:54 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (7)
 
 
0% (0)  踩
zwcelesta 发表于 2016-10-20 20:44
public Queue scheduledRooms (List meetings) {
        Queue q = new PriorityQueue((o1, o2) -> o ...

这个 你还得考虑merge interval  [1,2] [2,4] -> [1,4]

21.000+ students read the Road to learn React. The course weaves all the opinionated roadmaps into one roadmap to master React. It gives you all the fundamentals in React. You will build a Hacker News App along the way.

回复

使用道具 举报

我的人缘0
telepathy 发表于 2016-10-31 11:36:17 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  66% (2)
 
 
33% (1)  踩
楼主我也面倒了这题!可惜没提前看到你的帖子。求问面完多久收到结果啊?
回复

使用道具 举报

我的人缘0
pocketnail 发表于 2016-10-31 11:45:46 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (3)
 
 
0% (0)  踩
我第一轮也是面了这道题,当时也是出了小bug,但也过了,楼主加油!
回复

使用道具 举报

我的人缘0
freemail165 发表于 2016-10-31 12:35:41 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  73% (11)
 
 
26% (4)  踩
linweihua0 发表于 2016-10-21 03:02
这个 你还得考虑merge interval  [1,2] [2,4] -> [1,4]
.本文原创自1point3acres论坛
题目没要求merge.
上面这个解法的问题是不能按room的使用顺序来输出。

不知道题目是否要求
回复

使用道具 举报

我的人缘0
 楼主| tj474474 发表于 2016-10-31 12:40:07 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (11)
 
 
0% (0)  踩
telepathy 发表于 2016-10-31 11:36
楼主我也面倒了这题!可惜没提前看到你的帖子。求问面完多久收到结果啊?

兩天後收到結果 被拒了
回复

使用道具 举报

我的人缘0
 楼主| tj474474 发表于 2016-10-31 12:40:43 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (11)
 
 
0% (0)  踩
pocketnail 发表于 2016-10-31 11:45
我第一轮也是面了这道题,当时也是出了小bug,但也过了,楼主加油!
. visit 1point3acres for more.
謝謝啦 不過我還是被拒了 可能bug的嚴重程度不一樣吧
回复

使用道具 举报

我的人缘0
 楼主| tj474474 发表于 2016-10-31 12:41:03 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (11)
 
 
0% (0)  踩
freemail165 发表于 2016-10-31 12:35
题目没要求merge.
上面这个解法的问题是不能按room的使用顺序来输出。

題目沒有要求要照順序輸出

Learn React.js, Redux & Immutable.js while building a weather app

回复

使用道具 举报

游客
请先登录

本版积分规则

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

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

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

GMT+8, 2018-9-26 23:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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