楼主: craiglin1992
跳转到指定楼层
上一主题 下一主题
收起左侧

热乎的Google面经

🔗
kelvinzhong 2015-9-17 08:04:32 | 只看该作者
全局:
pyemma 发表于 2015-9-17 07:52
看题目不像是LRU,可能输入是个无限流

LRU不就是无限流吗?
回复

使用道具 举报

🔗
kelvinzhong 2015-9-17 08:04:39 | 只看该作者
全局:
pyemma 发表于 2015-9-17 07:52
看题目不像是LRU,可能输入是个无限流

LRU不就是无限流吗?
回复

使用道具 举报

🔗
 楼主| craiglin1992 2015-9-17 10:46:56 | 只看该作者
全局:
第一题地基(不知道问什么不直接说几楼,好像是7楼)说的是对的。给{-3,-2,-1,0,1} 输出{0,1,1,4,9}
第二题是有一些像LRU但比LRU简单些因为不需要从中间拿出来
回复

使用道具 举报

🔗
peach=。= 2015-9-17 12:46:14 | 只看该作者
全局:
edna 发表于 2015-9-17 06:48
第一题应该就是double pointer,比如说给你个array,{-5,-3,1,2},最后的结果是{1, 4, 9, 25}.

做法可以 ...

感觉不用找第一个大于0的,两头比较abs大的,从后往前放就可以了
回复

使用道具 举报

🔗
 楼主| craiglin1992 2015-9-17 15:05:01 | 只看该作者
全局:
peach=。= 发表于 2015-9-17 12:46
感觉不用找第一个大于0的,两头比较abs大的,从后往前放就可以了

正解正解,我就这么整的
回复

使用道具 举报

🔗
gp89757 2015-9-17 15:57:20 | 只看该作者
全局:
  1. vector<double> get_sorted_square(vector<double> v) {
  2.     if (v.size() == 0) return vector<double>();
  3.     int l = 0, r = v.size();
  4.     while (l+1<r) {
  5.         int m = l+(r-l)/2;
  6.         if (v[m] > 0.0) r = m;
  7.         else l = m;
  8.     }
  9.     vector<double> square;
  10.     while (l>=0 || r<v.size()) {
  11.         if (l>=0 && r<v.size()) {
  12.             if (v[l]*v[l] < v[r]*v[r])
  13.                 square.push_back(v[l]*v[l--]);
  14.             else
  15.                 square.push_back(v[r]*v[r++]);
  16.         }
  17.         else if (l>=0)
  18.             square.push_back(v[l]*v[l--]);
  19.         else
  20.             square.push_back(v[r]*v[r++]);
  21.     }
  22.     return square;
  23. }
复制代码
第一题,先二分找最接近0的负数,然后merge。
回复

使用道具 举报

🔗
douya 2015-9-21 02:36:03 | 只看该作者
全局:
craiglin1992 发表于 2015-9-17 10:46
第一题地基(不知道问什么不直接说几楼,好像是7楼)说的是对的。给{-3,-2,-1,0,1} 输出{0,1,1,4,9}
第二 ...

感谢楼主分享,第二题有什么具体要求?Time complexity?
回复

使用道具 举报

🔗
 楼主| craiglin1992 2015-9-22 00:10:59 | 只看该作者
全局:
douya 发表于 2015-9-21 02:36
感谢楼主分享,第二题有什么具体要求?Time complexity?

每次average应该需要O(1)吧
回复

使用道具 举报

🔗
colfighter 2015-9-22 04:02:45 | 只看该作者
全局:
第二题可以用Deque做么? 类似sliding window
回复

使用道具 举报

🔗
走路草May 2015-9-22 12:25:41 | 只看该作者
全局:
craiglin1992 发表于 2015-9-22 00:10
每次average应该需要O(1)吧

可以用Queue做嘛?每次移出queue里最早的元素, 然后keep一个currSum,每次移出元素和加入新元素都更新下currSum?不知道有没有理解对题目的意思。
回复

使用道具 举报

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

本版积分规则

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