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

Google VO

🔗
匿名用户-V3V98  2021-5-25 06:10:33 |倒序浏览

2021(4-6月) 码农类General 博士 全职@google - 猎头 - Onsite  | | WaitList | 在职跳槽

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

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

x
第一题:一个data stream,每input一个数,output比当前数小的个数,难点是要优化,logN的算法没想到,求地理大牛指点
第二题:
第三题:给定一个string由两种字符组成,给定N个长度为M的a
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

第三题例子就是用aaa,aaa去分别替换string里面连续的三个字符,最好情况就是替换aab,abb,最后剩一个b。

评分

参与人数 4大米 +8 收起 理由
edyyy + 1 赞一个
匿名用户-AO954 + 4
ND0406 + 1 赞一个
StupidCorn + 2 给你点个赞!

查看全部评分


上一篇:Tableau fullstack电面
下一篇:亞麻AWS店面
推荐
hz2019 2021-5-26 00:57:39 | 只看该作者
全局:
第一题可以用Binary Index Tree吧
回复

使用道具 举报

全局:
第三题可以用dp[n][k]: 长度为n的string, 用k个长度为m的string来替换,b的最少数量
第一种情况,刚好替换到最后一个字符 此时上一个状态是dp[n - m][k - 1]
第二种情况,除去第一种情况的其他情况(最后一个字符没有被替换)此时上一个状态是dp[n-1][k] + (str[n-1] == ‘b’)
综合两种情况:
dp[n][k] = min(dp[n - m][k - 1], dp[n - 1][k] + str[n - 1] == ‘b’)

评分

参与人数 1大米 +2 收起 理由
yezhengli_mr9 + 2 我写个复杂algo,400k+个test case同这

查看全部评分

回复

使用道具 举报

推荐
SimonLevy 2021-5-31 14:18:46 | 只看该作者
全局:
markbs123 发表于 2021-5-28 12:54
大大能不能详细写一下这个方法,我按照您的思路写出来结果不是1, max会保留最大的b count数,烦劳大大指 ...
  1. /**
  2.      * @param str target string contains only 'a' and 'b'
  3.      * @param n number of mask string contains only 'a'
  4.      * @param m length of mask string
  5.      * [url=home.php?mod=space&uid=160137]@return[/url] number of char 'a' after applying mask strings
  6.      */
  7.     public int findNumberOfBAfterReplace(String str, int n, int m) {
  8.         int l = str.length();
  9.         int[][] dp = new int[l][n];
  10.         int[] countB = new int[l];
  11.         for (int i = 0; i < l; i++) {
  12.             countB[i] = (i == 0 ? 0 : countB[i - 1])
  13.                     + (str.charAt(i) == 'b' ? 1 : 0);
  14.         }

  15.         for (int i = 0; i < l; i++) {
  16.             for (int j = 0; j < n; j++) {
  17.                 if (i < m) {
  18.                     dp[i][j] = countB[i];
  19.                 } else {
  20.                     dp[i][j] = Math.max(dp[i - 1][j],
  21.                             (j == 0 ? 0 : dp[i - m][j - 1]) + countB[i] - countB[i - m]);
  22.                 }
  23.             }
  24.         }

  25.         return countB[l - 1] - dp[l - 1][n - 1];
  26.     }
复制代码
回复

使用道具 举报

全局:
第二题是帖子中哪一道啊群主?
回复

使用道具 举报

🔗
qinxnelaine 2021-5-25 07:41:51 | 只看该作者
全局:
第一题是不是可以用红黑二叉树或者其他自适应的搜索二叉树 在插入结点的同时记录其余值比自己小的结点的列表

评分

参与人数 1大米 +1 收起 理由
edyyy + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
sas鹰uke 2021-5-25 08:15:23 | 只看该作者
全局:
本帖最后由 sas鹰uke 于 2021-5-25 08:17 编辑
zhengzaoyu1992 发表于 2021-5-25 07:31
第二题是帖子中哪一道啊群主?

我猜是phone screen那题吧,就那题完整些
回复

使用道具 举报

全局:
第三題可以講清楚點嗎 看不太懂怎麼會剩兩個b

补充内容 (2021-05-25 08:44 +08:00):
1個b才對 謝謝
回复

使用道具 举报

🔗
Murder 2021-5-25 09:36:03 | 只看该作者
全局:
第一题可以用b+ tree,没有implement 过, 这题是真难啊, 楼主你面的是level几呀

评分

参与人数 1大米 +3 收起 理由
yezhengli_mr9 + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
ND0406 2021-5-25 13:43:09 来自APP | 只看该作者
全局:
第一题典型的binary tree… worst scenario需要 N平方
回复

使用道具 举报

🔗
ND0406 2021-5-25 13:55:53 来自APP | 只看该作者
全局:
aababbbbaaa
00112233210
Total=5
2 length=3
算了第三题是真的想不出来 mark了明天继续想
回复

使用道具 举报

🔗
qinxnelaine 2021-5-25 14:10:29 | 只看该作者
全局:
第三题是是不是dp啊 类似的题目伊尔就溜 算出怎么分这个数组能取得最多的b值 类似disjoint interval
回复

使用道具 举报

🔗
wilbur_zzz 2021-5-25 17:54:30 | 只看该作者
全局:
第三题什么意思啊?看不懂想要干什么
回复

使用道具 举报

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

本版积分规则

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