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

骨骼虚拟上门

 
🔗
匿名用户-XVIG9  2020-9-26 04:53:43 |倒序浏览

2020(7-9月) 码农类General 硕士 全职@google - 内推 - Onsite  | | WaitList | 在职跳槽

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

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

x
面的l4, 狗屎运比较偏简单;
走过路过,求好心人施舍点大米😂
(没有设置限制,如果看不到可能是论坛默认。。试试手机版)

第1轮:李寇 意思二三; follow-up:还是取数组头和尾k次,新加入multiplier int[k], 每次也从multiplier 按序取出数相乘算结果,求max,例子:k=2, array [3,2,1,4], multiplier [1,2], 第一次取结果:4
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies
;
分别写了BFS 和DFS,BFS占空间,DFS好一点;
follow-up:优化BFS空间,讨论了改tree node,加入child -> parent;不改树就用hash-map memorize

第五轮:BQ轮,恶意竞争等等

评分

参与人数 12大米 +29 收起 理由
guzhiyan + 1 赞一个
umd2011 + 2 很有用的信息!
castanet + 2 给你点个赞!
attar + 1 给你点个赞!
oumizx + 3 很有用的信息!

查看全部评分


上一篇:丢盒子 电面+hr
下一篇:Amazon OA - 09/24

本帖被以下淘专辑推荐:

推荐
bobbywendy 2021-1-11 06:32:38 | 只看该作者
全局:
houghstc 发表于 2021-1-9 05:55
第一题的follow-up
[mw_shl_code=cpp,true]    int n, k;
    vector arr, multiplier;

厉害了 谢谢大佬
回复

使用道具 举报

推荐
houghstc 2021-1-9 05:55:38 | 只看该作者
全局:
本帖最后由 houghstc 于 2021-1-9 05:59 编辑

第一题的follow-up
  1.     int n, k;
  2.     vector<int> arr, multiplier;
  3.    
  4.     // dp[l][r] stands for the max result we can get
  5.     // if we take l elements from left, and r elements from right
  6.     vector<vector<int>> dp;
  7.    
  8.     // the max result we can get
  9.     // if we take l elements from left, and r elements from right
  10.     int dfs(int l, int r)
  11.     {
  12.         if(l == 0 && r == 0)
  13.             return 0;
  14.         int &v = dp[l][r];
  15.         if(v > INT_MIN)
  16.             return v;
  17.         // consider the last element we choose
  18.         // if the last element is chosen from left, it should be the (l-1)-th element in arr
  19.         // if the last element is chosen from right, it should be the (n-r)-th element in arr
  20.         // the multiplier will always be (l+r-1)-th element in multipliers
  21.         if(l > 0)
  22.             v = max(v, dfs(l-1, r) + arr[l-1]*multiplier[l+r-1]);
  23.         if(r > 0)
  24.             v = max(v, dfs(l, r-1) + arr[n-r]*multiplier[l+r-1]);
  25.         return v;
  26.     }

  27.     int main() {
  28.         cin >> n >> k;
  29.         arr = vector<int>(n), multiplier = vector<int>(k);
  30.         for(int i = 0; i < n; ++i)
  31.             cin >> arr[i];
  32.         for(int i = 0; i < k; ++i)
  33.             cin >> multiplier[i];

  34.         dp = vector<vector<int>>(k+1, vector<int>(k+1, INT_MIN));

  35.         int res = INT_MIN;
  36.         // we take i elements from left, and k-i elements from right
  37.         for(int i = 0; i <= k; ++i)
  38.         {
  39.             res = max(res, dfs(i, k-i));
  40.         }
  41.         cout << res << endl;
  42.     }
复制代码
[/i][/i]

评分

参与人数 2大米 +4 收起 理由
liwenrui2008 + 3 太厉害了大佬!
ghdwfnh + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
何曾渡光 2020-10-28 09:11:26 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Popular Interview Questions from Top Companies

评分

参与人数 1大米 +3 收起 理由
fengya + 3 谢谢!

查看全部评分

回复

使用道具 举报

全局:
hi 楼主, 第一题的 followup, 如果 k > 2 的情况下, multiplier 是需要循环使用吗, 还是 multiplier 的长度跟 k 是一样的
回复

使用道具 举报

全局:
还有第四轮的, 意思是如果 node 的值在 set 里, 就是 valid 的吗, 那假如 root 在 set 里面, 那最短的 path 是不是就是 root 的呢? 谢谢!
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-XVIG9  2020-9-27 08:08:21
sunnybegoffers 发表于 2020-9-27 05:53
hi 楼主, 第一题的 followup, 如果 k > 2 的情况下, multiplier 是需要循环使用吗, 还是 multiplier 的长度 ...

第一题:followup的multiplier的size就是k;
第四题:对的;
回复

使用道具 举报

🔗
ND0406 2020-9-27 08:24:55 来自APP | 只看该作者
全局:
居然问l4 scheduler… 这题我面PayPal遇到了,当时用的是创建thread,thread里面sleep… 然后到点后自动开始跑其他代码…
果然狗家面试不一样,这种实打实的代码可不是做题家能做出来的吧

评分

参与人数 1大米 +2 收起 理由
attar + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
Dido94 2020-9-27 08:37:50 | 只看该作者
全局:
请问楼主round 4 最短的root -> valid node的path, 这里是指只要终点是valid node就可以吗, 还是path里的node全都要是valid的呀
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-XVIG9  2020-9-27 08:43:44
Dido94 发表于 2020-9-27 08:37
请问楼主round 4 最短的root -> valid node的path, 这里是指只要终点是valid node就可以吗, 还是path里的 ...

只要终点是就可以了
回复

使用道具 举报

🔗
oumizx 2020-9-28 05:00:07 | 只看该作者
全局:
第一轮lz给的例子应该是3 * 1 + 4 * 2 = 11 吧?
回复

使用道具 举报

🔗
oumizx 2020-9-28 18:11:50 | 只看该作者
全局:
本帖最后由 oumizx 于 2020-9-28 18:37 编辑

lz可以详细写一下第三轮的思路吗?谢谢啦, 感觉链接里的贴子写的都不是很对路,看原题的要求是要在addTimer里调用setTimer的API不知道这样写对不对
  1. PriorityQueue<Event> pq = new PriorityQueue<>((a, b) -> a.time - b.time);
  2. MySystem system = new MySystem();

  3. class Event {
  4.         Long time;
  5.         Runnable runnable;

  6.         public Event(Long time, Runnable runnable) {
  7.         this.time = time;
  8.         this.runnable = runnable;
  9. }
  10. }

  11. void addTimer(long durationMillis, Runnable callback) {
  12.         synchronized(lock) {
  13.                 long curTime = system.getCurrentMillis() + durationMillis;
  14.                 // insert time is earlier than the head of the pq, need to schedule task first to override previous one
  15.                 if (pq.isEmpty() || curTime <= pq.peek()) {
  16.                         system.setTimer(curTime, callBack);
  17. } else {
  18.         pq.poll();
  19.         system.setTimer(pq.peek().time, pq.peek().runnable)
  20. }
  21. pq.add(new Event(curTime, callBack));
  22. }
  23. }
复制代码


回复

使用道具 举报

🔗
67victor 2020-9-28 21:56:18 | 只看该作者
本楼:
全局:
什么职位?
回复

使用道具 举报

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

本版积分规则

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