一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 918|回复: 6
收起左侧

Google 电面新鲜的

[复制链接] |试试Instant~ |关注本帖
benaapp 发表于 2015-10-21 02:37:11 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
Google 新鲜的phone interview,运气很好,感觉一个国人面的。电话迟到了20min左右,等待的时候超级紧张。。。题目:滑动平均数

我觉得主要是因为我面的C++,所以要求写一个class,写完之后在小哥的引导下不断的优化代码,然后最后感觉写出来的code挺好看的。
跪求Onsite一枚!
-google 1point3acres

评分

2

查看全部评分

本帖被以下淘专辑推荐:

houqingniao 发表于 2015-10-25 13:18:30 | 显示全部楼层
搞个Queue就好了?看size到了没?
回复 支持 1 反对 0

使用道具 举报

liyanjia92 发表于 2015-10-21 11:50:54 | 显示全部楼层
滑动平均数是说每来一个数,给出当前所有数的平均数吗?那不是记录一下当前所有数的数量和当前平均数就行了。。
回复 支持 反对

使用道具 举报

 楼主| benaapp 发表于 2015-10-21 14:09:20 | 显示全部楼层
liyanjia92 发表于 2015-10-21 11:50
滑动平均数是说每来一个数,给出当前所有数的平均数吗?那不是记录一下当前所有数的数量和当前平均数就行了 ...

https://zh.wikipedia.org/wiki/移動平均
参见第一个,给了一个window_size,然后根据size进行,
eg A=[1, 2, 3, 4, 5, 6, 7, 8] -google 1point3acres
window_size = 3
Then, the result should be:
[1, 1.5, 2, 3, 4, ... ]
Code很容易写,但是要写出好看的code需要优化
回复 支持 反对

使用道具 举报

杰西Jesse 发表于 2015-10-22 11:04:58 | 显示全部楼层
benaapp 发表于 2015-10-21 14:09
https://zh.wikipedia.org/wiki/移動平均
参见第一个,给了一个window_size,然后根据size进行,
eg A= ...

不是很理解楼主,window3是把1,2算了平均成了1.5 最后又加回到数组里了变成的window3么?
回复 支持 反对

使用道具 举报

 楼主| benaapp 发表于 2015-10-25 05:25:42 | 显示全部楼层
杰西Jesse 发表于 2015-10-22 11:04
不是很理解楼主,window3是把1,2算了平均成了1.5 最后又加回到数组里了变成的window3么?

对于从前面开始的1,2,都没有达到window_size所以第一项是1取平均值,为1; 第二项是1,2取平均值1.5;第三项是1,2,3去平均值2,第四项是2,3,4取平均值(因为达到了window size)为3; 以此类推
回复 支持 反对

使用道具 举报

杰西Jesse 发表于 2015-10-25 23:32:33 | 显示全部楼层
houqingniao 发表于 2015-10-25 13:18
搞个Queue就好了?看size到了没?
  1. import java.util.*;
  2. public class SlideAverage{
  3.         public List<Float> slide(int [] nums,int window){ 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  4.                 Queue <Integer> que = new LinkedList();
  5.                 List <Float> result =new ArrayList();
  6.                 float sum = 0;
  7.                 for(int i = 0 ;i<nums.length;i++){
  8.                         if(que.size()<window){
  9.                                 que.offer(nums[i]);
  10.                                 sum+=nums[i];
  11.                                
  12.                         }
  13.                         else{
  14.                                 int t = que.poll();
  15.                                 que.offer(nums[i]);
  16.                                 sum+=(nums[i]-t);
  17.                         }
  18.                         result.add(sum/que.size());
  19.                 }. 1point3acres.com/bbs
  20.                 System.out.println(result);. visit 1point3acres.com for more.
  21.                 return result;
  22.         }
  23.         public static void main(String args[]){
  24.                 SlideAverage sa = new SlideAverage();
  25.                 int []nums={1, 2, 3, 4, 5, 6, 7, 8};
  26.                 sa.slide(nums,3);
  27.         }
  28. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

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

custom counter

GMT+8, 2016-12-4 14:34

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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