📣 独立日限时特惠: VIP通行证立减$68
回复: 26
跳转到指定楼层
上一主题 下一主题
收起左侧

11.9新鲜google电面

全局:

2016(7-9月) 码农类General 硕士 实习@google - 内推 - 技术电面  | | Other | 应届毕业生

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
趁着题目还挺有印象发一下。。

一轮是google NY的一个女生,问的问题还算中规中矩。
一问warm up:sort color
二问:给一个stream类,里面有next()方法和hasmore()方法,要求写一个Un
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
的。写出这个来以后小哥又让我继续写original problem,结果时间就到了。。。

祝大家好运!!!!

评分

参与人数 6大米 +71 收起 理由
whdawn + 30
JoeWest + 10 感谢分享!
yx1232287 + 3 感谢分享!
mzhqlh + 10 感谢分享!
虾米酱 + 15 感谢分享!

查看全部评分


上一篇:box电话面试-culture面
下一篇:Workday 电面面经

本帖被以下淘专辑推荐:

全局:
写了下UnionSet类欢迎指教
  1. public class UnionSet {

  2.         private IntStream A;
  3.         private IntStream B;
  4.         private Integer next;
  5.         private Integer ANext;
  6.         private Integer BNext;
  7.         public UnionSet(int[] Aarr, int[] Barr) {
  8.                 A = new IntStream(Aarr);
  9.                 B = new IntStream(Barr);
  10.                 next = null;
  11.         }
  12.        
  13.         public boolean hasNext() {
  14.                 if (ANext == null && BNext == null && !A.hasmore() && !B.hasmore() && next == null) {
  15.                         return false;
  16.                 }
  17.                
  18.                 return true;
  19.         }
  20.         public static void main(String[] args) {
  21.                 int[] Aarr = {1,2,3, 5};
  22.                 int[] Barr = {1,4,5,6};
  23.                 UnionSet us = new UnionSet(Aarr, Barr);
  24.                 while (us.hasNext()) {
  25.                         System.out.println(us.next());
  26.                 }
  27.         }
  28.        
  29.         public void unionOp() {
  30.                 if (next == null) {
  31.                         if (ANext == null && !A.hasmore()) {
  32.                                 next = B.next();
  33.                                 return;
  34.                         }
  35.                         if (BNext == null && !B.hasmore()) {
  36.                                 next = A.next();
  37.                                 return;
  38.                         }
  39.                         if (ANext == null) {
  40.                                 ANext = A.next();
  41.                         }
  42.                         if (BNext == null) {
  43.                                 BNext = B.next();
  44.                         }
  45.                         if (ANext < BNext) {
  46.                                 next = ANext;
  47.                                 ANext = null;
  48.                         } else if (ANext > BNext){
  49.                                 next = BNext;
  50.                                 BNext = null;
  51.                         } else {
  52.                                 next = ANext;
  53.                                 ANext = null;
  54.                                 BNext = null;
  55.                         }
  56.                 }
  57.         }
  58.        
  59.         public int next() {
  60.                 unionOp();
  61.                 int res = next;
  62.                 next = null;
  63.                 return res;
  64.         }
  65.        
  66.         class IntStream {
  67.                 private int[] arr;
  68.                 private int pos;
  69.                 public IntStream(int[] arr) {
  70.                         this.arr = arr;
  71.                         pos = 0;
  72.                 }
  73.                
  74.                 public int next() {
  75.                         return arr[pos++];
  76.                 }
  77.                 public boolean hasmore() {
  78.                         return pos < arr.length;
  79.                 }
  80.         }
  81. }
复制代码
回复

使用道具 举报

推荐
孤笑客 2015-11-10 10:09:17 | 只看该作者
全局:
宝贝忆彼岸 发表于 2015-11-10 08:31
明白了,union的规则是什么呢?是说新生成的unionStream每次call next()方法都来自于不同的stream是吗? ...

IntStream A和B本身都是set。
然后你需要实现一个新的UnionStream,这个UnionStream的next()是A和B里的数字。但是同时需要保证UnionStream自己也是具有set属性的。

恩…换通俗的话说就是,A里的数字都没有重复,B里的数字也没有重复,请实现一个新的方法去输出A/B里的数,并保证输出的数也没有重复。
举例:
A = [1,2,3]
B = [1,4,5,6]
输出就是[1,2,3,4,5,6]
回复

使用道具 举报

推荐
 楼主| vinoblade 2015-11-10 08:21:10 | 只看该作者
全局:
宝贝忆彼岸 发表于 2015-11-10 07:55
感谢分享,请问第一轮第二问能详细说说嘛?UnionSet类有什么特点和功能呢?

不是特别好描述,简单说就是要通过给的IntStream类中的方法来构建新的UnionStream类。要求实现UnionOp,就是把两个stream做union操作,以及next()方法,类似于iterator。主要难点在于要一边call IntStream里的next()和hasmore()一边做unionOp,不能直接生成新的unionset。
回复

使用道具 举报

🔗
宝贝忆彼岸 2015-11-10 07:55:09 | 只看该作者
全局:
感谢分享,请问第一轮第二问能详细说说嘛?UnionSet类有什么特点和功能呢?
回复

使用道具 举报

🔗
宝贝忆彼岸 2015-11-10 08:31:41 | 只看该作者
全局:
vinoblade 发表于 2015-11-10 08:21
不是特别好描述,简单说就是要通过给的IntStream类中的方法来构建新的UnionStream类。要求实现UnionOp, ...

明白了,union的规则是什么呢?是说新生成的unionStream每次call next()方法都来自于不同的stream是吗?比如上一个来自stream a,那么下一个next()方法的元素就要来自stream b?
回复

使用道具 举报

🔗
 楼主| vinoblade 2015-11-10 08:39:53 | 只看该作者
全局:
宝贝忆彼岸 发表于 2015-11-10 08:31
明白了,union的规则是什么呢?是说新生成的unionStream每次call next()方法都来自于不同的stream是吗? ...

没有特定的规则。就是相当于stream a生成一个setA,stream b生成一个setB,然后union setA and setB.
回复

使用道具 举报

🔗
mooc 2015-11-10 10:08:45 | 只看该作者
全局:
lz 点关于直线对称后来有想出来吗?
回复

使用道具 举报

🔗
 楼主| vinoblade 2015-11-10 10:32:44 | 只看该作者
全局:
孤笑客 发表于 2015-11-10 10:09
IntStream A和B本身都是set。
然后你需要实现一个新的UnionStream,这个UnionStream的next()是A和B里的 ...

基本上是这么个意思。但是新的UnionSet实时更新的。
回复

使用道具 举报

🔗
mooc 2015-11-10 10:35:59 | 只看该作者
全局:
对称那道我网上都搜不到啊~
回复

使用道具 举报

🔗
 楼主| vinoblade 2015-11-10 10:40:00 | 只看该作者
全局:
mooc 发表于 2015-11-10 10:35
对称那道我网上都搜不到啊~

就是这么回事儿。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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