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

Google 电面 挂

🔗
匿名用户-DGEAG  2022-7-11 08:00:44 |倒序浏览

2022(4-6月) 码农类General 硕士 全职@google - 内推 - 技术电面  | 😐 Neutral 😣 Hard | Fail | 其他

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

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

x
分享一个狗家店面挂经

给一个字符串,只包含'(', ')',要求1
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
出来>_<求分享思路
求米看帖谢谢

评分

参与人数 6大米 +9 收起 理由
onerhao + 1 赞一个
neverlate + 1 很有用的信息!
生蚝来十个 + 1 很有用的信息!
匿名用户-LAN4C + 3
ND0406 + 1 赞一个

查看全部评分


上一篇:Linkedin电面
下一篇:一家hedge fund的python题
推荐
Falldawn 2022-7-12 07:32:32 | 只看该作者
全局:
本帖最后由 Falldawn 于 2022-7-11 16:38 编辑

输出最小步数得到的String,但是如果包涵其他字符则需要在else 上加上if
else if (c == ')' ){

else if( c == '('){
  1. public String minToMakeValid(String S) {
  2.         int n = S.length();
  3.         int[] change = new int[n];
  4.         int openRight = 0, openLeft = 0;
  5.         char[] input = S.toCharArray();
  6.         int lastOpenRight = 0;
  7.         int firstOpenLeft = 0;
  8.         for (int i = 0; i < n; i++) {
  9.             char c = input[i];
  10.             if (c == '(') {
  11.                 openLeft++;
  12.             }else {
  13.                 openLeft--;
  14.             }
  15.             if (openLeft < 0) {
  16.                 openLeft = 0;
  17.                 openRight++;
  18.                 if (openRight % 2 == 1) {
  19.                     change[i] = 1; // change to "(
  20.                 }
  21.                 lastOpenRight = i;
  22.             }
  23.         }
  24.         if (openRight % 2 != 0) {
  25.             change[lastOpenRight] = 2; // mark for delete
  26.         }
  27.         int minSteps = openLeft / 2 + openRight /2 + (openLeft % 2 == 0 ? 0 : 1) + (openRight % 2 == 0 ? 0 : 1);
  28.         openLeft = openRight = 0;
  29.         for (int i = n - 1; i >= 0; i--) {
  30.             char c = input[i];
  31.             if (c == ')') {
  32.                 openRight++;
  33.             }else {
  34.                 openRight--;
  35.             }
  36.             if (openRight < 0) {
  37.                 openRight = 0;
  38.                 openLeft++;
  39.                 if (openLeft % 2 == 1) {
  40.                     change[i] = -1; // change to ")
  41.                 }
  42.                 firstOpenLeft = i;
  43.             }
  44.         }
  45.         if (openLeft% 2 != 0) {
  46.             change[firstOpenLeft] = 2; // mark for delete
  47.         }

  48.         StringBuilder res = new StringBuilder();
  49.         for(int i = 0,j = 0, k = 0; i < n; i++) {
  50.             if (change[i] == 0) {
  51.                 res.append(S.charAt(i));
  52.             }else if (change[i] == 1 ) {
  53.                 res.append("(");
  54.             } else if (change[i] == -1){
  55.                 res.append(")");
  56.             }
  57.         }
  58.         return res.toString();
  59.     }
复制代码

评分

参与人数 2大米 +2 收起 理由
tanhao940807 + 1 很有用的信息!
大宝不发脾气 + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 2大米 +5 收起 理由
沐沐ice + 1 给你点个赞!
匿名用户-LAN4C + 4

查看全部评分

回复

使用道具 举报

🔗
5222464 2022-7-11 08:21:34 | 只看该作者
全局:
感觉有点像301啊 不过不是完全一样 BFS应该可以的 不知道有没有greedy的算法
回复

使用道具 举报

🔗
5222464 2022-7-11 08:37:15 | 只看该作者
全局:
可以不可以计算多少个invalid "(" 和invalid ")",每两个")"或者两个"(" 都可以flip一次解决,最后最多剩下一个 ")" 和一个"("
回复

使用道具 举报

🔗
ND0406 2022-7-11 09:30:07 来自APP | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
5222464 2022-7-11 11:53:55 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
5222464 2022-7-11 11:54:00 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-DGEAG  2022-7-11 11:59:09
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
Falldawn 2022-7-11 12:24:30 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
Falldawn 2022-7-11 12:34:06 | 只看该作者
全局:
可以同时做一下921, 1249以及20,32,
回复

使用道具 举报

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

本版积分规则

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