[八我司] Expedia一年半遊:这是一個特別適合養老待退的地方

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
H1B/绿卡遥遥无期
又不想回国
来东南亚最大的互联网集团工作?
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 2615|回复: 10
收起左侧

SnapChat Full-Time 电面

[复制链接] |试试Instant~ |关注本帖
我的人缘0
tj474474 发表于 2016-10-20 10:45:47 | 显示全部楼层 |阅读模式
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】

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

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

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

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

我的做法是先把所有的schedule根据start time sort
.留学论坛-一亩-三分地同时还用了一个PriorityQueue -google 1point3acres
顺序是根据schedule的end time.

PriorityQueue的Node我还多放了一个该event被存放的roomId-google 1point3acres
这样从PrioirtyQueue里面pop出来的时候就可以直接找到需要添加的room
我的面試官挺好的 因為我提出這個做法
他直接就跟我說那你input就用你這個List<Node>吧

不过最后compile有个小bug
因为时间到了没弄完. 围观我们@1point 3 acres
还是希望有onsite...
附上代碼
  1. import java.util.*;. 留学申请论坛-一亩三分地

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

评分

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

查看全部评分


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

本帖被以下淘专辑推荐:

我的人缘0
zwcelesta 发表于 2016-10-20 20:44:36 | 显示全部楼层
  此人我要顶:
 
33% (0) 【我投】
  此人我要踩:
 
67% (3) 【我投】
    public Queue<LinkedList<Interval>> scheduledRooms (List<Interval> meetings) {.本文原创自1point3acres论坛
        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(" ");
        }. from: 1point3acres
        return q;
    }.1point3acres网

评分

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

查看全部评分

回复 支持 4 反对 0

使用道具 举报

我的人缘0
edyyy 发表于 2016-10-20 11:43:48 | 显示全部楼层
  此人我要顶:
 
100% (4) 【我投】
  此人我要踩:
 
0% (0) 【我投】
谢谢楼主分享,祝好运
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| tj474474 发表于 2016-10-20 22:40:31 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
zwcelesta 发表于 2016-10-20 20:44
public Queue scheduledRooms (List meetings) {
        Queue q = new PriorityQueue((o1, o2) -> o ...

好简洁的方法!把LinkedList直接拿来当PriorityQueue的Key
还有Java 8的语法让代码看起来简单多了看来得多学学
回复 支持 反对

使用道具 举报

我的人缘0
linweihua0 发表于 2016-10-21 03:02:54 | 显示全部楼层
  此人我要顶:
 
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]
回复 支持 反对

使用道具 举报

我的人缘0
telepathy 发表于 2016-10-31 11:36:17 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
楼主我也面倒了这题!可惜没提前看到你的帖子。求问面完多久收到结果啊?
回复 支持 反对

使用道具 举报

我的人缘0
pocketnail 发表于 2016-10-31 11:45:46 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
我第一轮也是面了这道题,当时也是出了小bug,但也过了,楼主加油!
回复 支持 反对

使用道具 举报

我的人缘0
freemail165 发表于 2016-10-31 12:35:41 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
linweihua0 发表于 2016-10-21 03:02. 牛人云集,一亩三分地
这个 你还得考虑merge interval  [1,2] [2,4] -> [1,4]

题目没要求merge.
上面这个解法的问题是不能按room的使用顺序来输出。 来源一亩.三分地论坛.

不知道题目是否要求
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

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

兩天後收到結果 被拒了
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| tj474474 发表于 2016-10-31 12:40:43 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
pocketnail 发表于 2016-10-31 11:45. 牛人云集,一亩三分地
我第一轮也是面了这道题,当时也是出了小bug,但也过了,楼主加油!

謝謝啦 不過我還是被拒了 可能bug的嚴重程度不一樣吧
回复 支持 反对

使用道具 举报

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

題目沒有要求要照順序輸出
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2018-6-19 18:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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