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


一亩三分地论坛

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

一亩三分地官方iOS手机应用下载
查看: 2266|回复: 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
第二个是ca打来的意大利大哥,写得太久了,最后时刻改完第一题,他说ok但不知道是不是因为时间到了就随口说的-google 1point3acres
题目是merge interval的变种,有overlap的intervals都删掉,保留没有overlap的返回
-google 1point3acres
题真心不难啊,加州时间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才可以啊。。。正常情况下等两个星期都是有可能的吧。。。
楼主加油~

我看好像地里已经有人昨天面试拿到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

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

使用道具 举报

jacyjia 发表于 2015-11-25 10:36:03 | 显示全部楼层
tanpf5 发表于 2015-11-25 05:48. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
今天查了下,速度基本取决于面试官上报的时间,规定在两周之内上报。
所以他们如果手头有活儿拖两天也是 ...

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

使用道具 举报

bobzhang2004 发表于 2015-12-3 00:31:28 | 显示全部楼层
interval,这个问题如果两个interval[2, 4], [4, 6],要remove两个吗?
写了下代码,有相等也remove.
  1. public class MergeIntervalsIII {. more info on 1point3acres.com
  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));. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  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.                 }. 鍥磋鎴戜滑@1point 3 acres
  12.         }
  13.         .鏈枃鍘熷垱鑷1point3acres璁哄潧
  14.         static class Interval {
  15.                 int start;
  16.                 int end;

  17.                 Interval() {
  18.                         start = 0;
  19.                         end = 0;
  20.                 }

  21.                 Interval(int s, int e) {
  22.                         start = s;
  23.                         end = e;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  24.                 }. Waral 鍗氬鏈夋洿澶氭枃绔,
  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>(){
  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;
  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.                 }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  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两个吗?. From 1point 3acres bbs
写了下代码,有相等也remove.

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

使用道具 举报

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

那相等的情况就得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]?
.1point3acres缃
这题是去掉重叠的而已,不合并
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

bobzhang2004 发表于 2015-12-3 04:57:16 | 显示全部楼层
根据楼主的意思,重新改了下代码,谢谢
  1. public class MergeIntervalsIII {
  2.         public static void main(String[] args) {
  3.                 List<Interval> intervals = new ArrayList<Interval>();. visit 1point3acres.com for more.
  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. . 1point3acres.com/bbs
  9.                 List<Interval> res = mergeIntervals(intervals);
  10.                 for (Interval interval : res) {
  11.                         System.out.println(interval.start + " " + interval.end);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  12.                 }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  13.         }
  14.        
  15.         static class Interval {
  16.                 int start;
  17.                 int end;
  18. . more info on 1point3acres.com
  19.                 Interval() {
  20.                         start = 0;
  21.                         end = 0;
  22.                 }
  23.                 Interval(int s, int e) {
  24.                         start = s;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  25.                         end = e;-google 1point3acres
  26.                 }
  27.         }. more info on 1point3acres.com
  28.         . From 1point 3acres bbs
  29.         /*-google 1point3acres
  30.                  intervals.add(new Interval(4, 8));. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  31.                 intervals.add(new Interval(3, 5));. 鍥磋鎴戜滑@1point 3 acres
  32.                 intervals.add(new Interval(-1, 5));
  33.                 intervals.add(new Interval(10, 12));
  34.                 这个case 应该是返回(10, 12)
  35.          */.1point3acres缃
  36.         public static List<Interval> mergeIntervals(List<Interval> intervals) {. 1point 3acres 璁哄潧
  37.                 List<Interval> res = new ArrayList<Interval>();. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  38.                 if (intervals == null || intervals.size() == 0) {
  39.                         return res;
  40.                 }
  41.                 Collections.sort(intervals, new Comparator<Interval>(){
  42.                         public int compare(Interval i1, Interval i2) {
  43.                                 if (i1.start == i2.start) {
  44.                                         return i1.end - i2.end;
  45.                                 }
  46.                                
  47.                                 return i1.start - i2.start;
  48.                         }-google 1point3acres
  49.                 });
  50.                 List<Interval> list = new ArrayList<Interval>();
  51.                 boolean[] isOverlap = new boolean[intervals.size()];. visit 1point3acres.com for more.
  52.                 list.add(intervals.get(0));. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  53.                 for (int i = 1; i < intervals.size(); i++) {
  54.                         if (intervals.get(i).start < list.get(list.size() - 1).end) {
  55.                                 isOverlap[i] = true;
  56.                                 isOverlap[i - 1] = true;
  57.                                 list.get(list.size() - 1).end = Math.max(list.get(list.size() - 1).end, intervals.get(i).end);
  58.                         } else {
  59.                                 list.add(intervals.get(i));
  60.                         }
  61.                 }
  62.                 for (int i = 0; i < intervals.size(); i++) {
  63.                         if (!isOverlap[i]) {
  64.                                 res.add(intervals.get(i));
  65.                         }
  66.                 }. 鍥磋鎴戜滑@1point 3 acres
  67.                 return res;
  68.         }
  69. }
    . 鍥磋鎴戜滑@1point 3 acres
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-6-27 15:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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