May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

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

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

11/23 Google Intern Interview

[复制链接] |试试Instant~ |关注本帖
tanpf5 发表于 2015-11-24 22:50:55 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 本科 实习@Google - 内推 - 技术电面 |Other其他

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

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

x
感觉题都不是很难,很可能机会没把握住哎
第一个纽约打来的国人小哥,两道题。第一题给一个字符串,把里面的元音字母reverse.鐣欏璁哄潧-涓浜-涓夊垎鍦
第二题给一个sorted array和一个数字,在array里面找最接近的数返回index. from: 1point3acres.com/bbs
第二个是ca打来的意大利大哥,写得太久了,最后时刻改完第一题,他说ok但不知道是不是因为时间到了就随口说的
题目是merge interval的变种,有overlap的intervals都删掉,保留没有overlap的返回

题真心不难啊,加州时间2点面完的,三个小时的工作时间没有等来offer是不是基本没戏了。
话说一般发offer是邮件,悲剧了是打电话这样子吗?
corn 发表于 2015-11-24 23:41:09 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
三小时,这得有多快的feedback才可以啊。。。正常情况下等两个星期都是有可能的吧。。。
楼主加油~
回复 支持 反对

使用道具 举报

curry97 发表于 2015-11-25 00:30:41 | 显示全部楼层
关注一亩三分地微博:
Warald
merge interval那题怎么做啊?
回复 支持 反对

使用道具 举报

 楼主| tanpf5 发表于 2015-11-25 00:34:36 | 显示全部楼层
curry97 发表于 2015-11-25 00:30
merge interval那题怎么做啊?

可以先在leetcode上把merge interval搞懂,然后这里面只要纪录一下被merge的intervals最后remove掉就可以了
回复 支持 反对

使用道具 举报

 楼主| tanpf5 发表于 2015-11-25 00:35:34 | 显示全部楼层
corn 发表于 2015-11-24 23:41
三小时,这得有多快的feedback才可以啊。。。正常情况下等两个星期都是有可能的吧。。。
楼主加油~
. From 1point 3acres bbs
我看好像地里已经有人昨天面试拿到offer了。。而且我周围过的人一般出结果很快,现在很慌啊
回复 支持 反对

使用道具 举报

jacyjia 发表于 2015-11-25 05:24:01 | 显示全部楼层
tanpf5 发表于 2015-11-25 00:35
我看好像地里已经有人昨天面试拿到offer了。。而且我周围过的人一般出结果很快,现在很慌啊

我也是昨天面的今天没消息 一直在安慰自己过节了可能慢一点 TAT
回复 支持 反对

使用道具 举报

 楼主| tanpf5 发表于 2015-11-25 05:48:01 | 显示全部楼层
jacyjia 发表于 2015-11-25 05:24
我也是昨天面的今天没消息 一直在安慰自己过节了可能慢一点 TAT

今天查了下,速度基本取决于面试官上报的时间,规定在两周之内上报。. Waral 鍗氬鏈夋洿澶氭枃绔,
所以他们如果手头有活儿拖两天也是正常的,等等看吧
回复 支持 反对

使用道具 举报

jacyjia 发表于 2015-11-25 10:36:03 | 显示全部楼层
tanpf5 发表于 2015-11-25 05:48-google 1point3acres
今天查了下,速度基本取决于面试官上报的时间,规定在两周之内上报。
所以他们如果手头有活儿拖两天也是 ...

每天都很忐忑啊! 谢谢楼主~希望都可以pass~
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2015-12-3 00:31:28 | 显示全部楼层
interval,这个问题如果两个interval[2, 4], [4, 6],要remove两个吗?
写了下代码,有相等也remove.
  1. public class MergeIntervalsIII {
  2.         public static void main(String[] args) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  3.                 List<Interval> intervals = new ArrayList<Interval>();
  4.                 intervals.add(new Interval(4, 8));
  5.                 intervals.add(new Interval(3, 5));
  6.                 intervals.add(new Interval(-1, 2));. 1point 3acres 璁哄潧
  7.                 intervals.add(new Interval(10, 12));

  8.                 List<Interval> res = mergeIntervals(intervals);
  9.                 for (Interval interval : res) {
  10.                         System.out.println(interval.start + " " + interval.end);
  11.                 }
  12.         }
  13.         . visit 1point3acres.com for more.
  14.         static class Interval {
  15.                 int start;
  16.                 int end;

  17.                 Interval() {
  18.                         start = 0;. Waral 鍗氬鏈夋洿澶氭枃绔,
  19.                         end = 0;
  20.                 }

  21.                 Interval(int s, int e) {. from: 1point3acres.com/bbs
  22.                         start = s;
  23.                         end = e;
  24.                 }
  25.         }
  26.        
  27.         . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  28.         public static List<Interval> mergeIntervals(List<Interval> intervals) {
  29.                 List<Interval> res = new ArrayList<Interval>();
  30.                 if (intervals == null || intervals.size() == 0) {
  31.                         return res;
  32.                 }
  33.                 Collections.sort(intervals, new Comparator<Interval>(){-google 1point3acres
  34.                         public int compare(Interval i1, Interval i2) {
  35.                                 if (i1.start == i2.start) {
  36.                                         return i1.end - i2.end;
  37.                                 }
  38.                                
  39.                                 return i1.start - i2.start;. more info on 1point3acres.com
  40.                         }
  41.                 });
  42.                 for (int i = 0; i < intervals.size(); i++) {
  43.                         if (res.size() == 0 || intervals.get(i).start > res.get(res.size() - 1).end) {
  44.                                 res.add(intervals.get(i));
  45.                         } else {
  46.                                 while (res.size() > 0 && intervals.get(i).start <= res.get(res.size() - 1).end) {
  47.                                         res.remove(res.size() - 1);
  48.                                 }
  49.                         }
  50.                 }
  51.                
  52.                 return res;
  53.         }
  54. }
复制代码

补充内容 (2015-12-3 04:56):
这个代码有错
回复 支持 反对

使用道具 举报

 楼主| tanpf5 发表于 2015-12-3 00:36:46 | 显示全部楼层
bobzhang2004 发表于 2015-12-3 00:31. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
interval,这个问题如果两个interval[2, 4], [4, 6],要remove两个吗?
写了下代码,有相等也remove.

我记得当时我问过这个问题,相等不算重叠,不删除
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2015-12-3 00:50:44 | 显示全部楼层
tanpf5 发表于 2015-12-3 00:36. from: 1point3acres.com/bbs
我记得当时我问过这个问题,相等不算重叠,不删除

那相等的情况就得merge吧,[2, 4], [4, 6]变成[2, 6]?
回复 支持 反对

使用道具 举报

 楼主| tanpf5 发表于 2015-12-3 00:53:02 | 显示全部楼层
bobzhang2004 发表于 2015-12-3 00:50
那相等的情况就得merge吧,[2, 4], [4, 6]变成[2, 6]?

这题是去掉重叠的而已,不合并
回复 支持 反对

使用道具 举报

 楼主| tanpf5 发表于 2015-12-3 00:54:14 | 显示全部楼层
bobzhang2004 发表于 2015-12-3 00:50
那相等的情况就得merge吧,[2, 4], [4, 6]变成[2, 6]?

这题是去掉重叠的而已,不合并
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2015-12-3 04:57:16 | 显示全部楼层
根据楼主的意思,重新改了下代码,谢谢. 1point 3acres 璁哄潧
  1. public class MergeIntervalsIII {
  2.         public static void main(String[] args) {
  3.                 List<Interval> intervals = new ArrayList<Interval>();-google 1point3acres
  4.                 intervals.add(new Interval(4, 8));
  5.                 intervals.add(new Interval(3, 4));
    鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  6.                 intervals.add(new Interval(-1, 2));
  7.                 intervals.add(new Interval(10, 12));

  8.                 List<Interval> res = mergeIntervals(intervals);. Waral 鍗氬鏈夋洿澶氭枃绔,
  9.                 for (Interval interval : res) {
  10.                         System.out.println(interval.start + " " + interval.end);
  11.                 }
  12.         }
  13.        
  14.         static class Interval {
  15.                 int start;
  16.                 int end;.鐣欏璁哄潧-涓浜-涓夊垎鍦

  17.                 Interval() {
  18.                         start = 0;-google 1point3acres
  19.                         end = 0;
  20.                 }
  21.                 Interval(int s, int e) {
  22.                         start = s;
  23.                         end = e;
  24.                 }
  25.         }
    . Waral 鍗氬鏈夋洿澶氭枃绔,
  26.        
  27.         /*
  28.                  intervals.add(new Interval(4, 8));
  29.                 intervals.add(new Interval(3, 5));
  30.                 intervals.add(new Interval(-1, 5));
  31.                 intervals.add(new Interval(10, 12));
  32.                 这个case 应该是返回(10, 12)
  33.          */
  34.         public static List<Interval> mergeIntervals(List<Interval> intervals) {
  35.                 List<Interval> res = new ArrayList<Interval>();. Waral 鍗氬鏈夋洿澶氭枃绔,
  36.                 if (intervals == null || intervals.size() == 0) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  37.                         return res;
  38.                 }
  39.                 Collections.sort(intervals, new Comparator<Interval>(){. From 1point 3acres bbs
  40.                         public int compare(Interval i1, Interval i2) {
  41.                                 if (i1.start == i2.start) {
  42.                                         return i1.end - i2.end;
  43.                                 }
  44.                                
  45.                                 return i1.start - i2.start;
  46.                         }
  47.                 });-google 1point3acres
  48.                 List<Interval> list = new ArrayList<Interval>();.1point3acres缃
  49.                 boolean[] isOverlap = new boolean[intervals.size()];
  50.                 list.add(intervals.get(0));
  51.                 for (int i = 1; i < intervals.size(); i++) {
  52.                         if (intervals.get(i).start < list.get(list.size() - 1).end) {. 鍥磋鎴戜滑@1point 3 acres
  53.                                 isOverlap[i] = true;
  54.                                 isOverlap[i - 1] = true;
  55.                                 list.get(list.size() - 1).end = Math.max(list.get(list.size() - 1).end, intervals.get(i).end);
  56.                         } else {
  57.                                 list.add(intervals.get(i));
  58.                         }
  59.                 }
  60.                 for (int i = 0; i < intervals.size(); i++) {
  61.                         if (!isOverlap[i]) {
  62.                                 res.add(intervals.get(i));. from: 1point3acres.com/bbs
  63.                         }. from: 1point3acres.com/bbs
  64.                 }
  65.                 return res;
  66.         }. From 1point 3acres bbs
  67. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-5-30 11:49

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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