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

非常新鲜的脸书电面

🔗
csushin1992 2020-3-31 22:48:30 | 只看该作者
全局:
wsrrzxl 发表于 2020-3-20 13:24
这道题是不是可以直接按蠡口原题先算出"(" ")"每个要补几个
然后在字符串最左边填加相应个数的"(",最右 ...

不行的,比如 )))((( 的情况。
还是只能遍历的时候加开括号。
回复

使用道具 举报

🔗
 楼主| yimeichihuo2 2020-4-1 01:07:17 来自APP | 只看该作者
全局:
csushin1992 发表于 2020/03/31 22:48:30
不行的,比如 )))((( 的情况。
还是只能遍历的时候加开括号。
谢谢回复,我都没注意🤦‍♀️
回复

使用道具 举报

🔗
wsrrzxl 2020-4-1 12:10:44 | 只看该作者
全局:
csushin1992 发表于 2020-3-31 22:48
不行的,比如 )))((( 的情况。
还是只能遍历的时候加开括号。

我理解的是先算出left多了三个 right多了三个
所以要在最左边加三个“(” 最右边加三个“)”
最后变成“((()))((()))”

是我想错了吗
回复

使用道具 举报

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

使用道具 举报

🔗
wsrrzxl 2020-4-2 02:56:49 | 只看该作者
全局:
[quote]csushin1992 发表于 2020-4-1 13:19
下面是随便写的,有些地方可能错了,仅供参考的地方是第15行和20行
  1. public int  ...[/quote]
  2. 我们的实现方式可能有些区别
  3. [code]public String minAddToMakeValid(String S) {
  4.         int left = 0, right = 0;
  5.         for(char c : S.toCharArray()) {
  6.             if(c == '(') {
  7.                 left ++;
  8.             } else {
  9.                 if(left > 0) {
  10.                     left --;
  11.                 } else {
  12.                     right ++;
  13.                 }
  14.             }
  15.         }
  16.         StringBuilder res = new StringBuilder(s);
  17.         while(left-- > 0) {
  18.           res.append(")");
  19.         }
  20.         while(right -- < 0) {
  21.           res.insert(0, "(");
  22.         }
  23.         return res.toString();
  24.     }
复制代码


回复

使用道具 举报

🔗
csushin1992 2020-4-2 09:35:27 | 只看该作者
全局:
wsrrzxl 发表于 2020-4-2 02:56
我们的实现方式可能有些区别
[mw_shl_code=java,true]public String minAddToMakeValid(String S) {
   ...

请问这个怎么解?
(()(
回复

使用道具 举报

🔗
wsrrzxl 2020-4-2 09:43:01 | 只看该作者
全局:
csushin1992 发表于 2020-4-2 09:35
请问这个怎么解?
(()(

for循环之后left = 2, right = 0,
所以在最右边加两个"))"变成”(()())"
回复

使用道具 举报

🔗
csushin1992 2020-4-2 10:31:27 | 只看该作者
全局:
wsrrzxl 发表于 2020-4-2 09:43
for循环之后left = 2, right = 0,
所以在最右边加两个"))"变成”(()())"

对的对的。
回复

使用道具 举报

全局:
yimeichihuo2 发表于 2020/03/21 16:08:33
可能有的面试官提供feedback比较慢,我的猎头说我的面试官提供的非常快所以就立刻通知我了。你再等等,暂时没有消息可能...
听hr说是feedback鹤另外一个人写串了......感恩hr认真负责,已经拿到offer
回复

使用道具 举报

🔗
 楼主| yimeichihuo2 2020-4-10 16:12:39 来自APP | 只看该作者
全局:
dingnn001 发表于 2020/04/10 15:31:30
听hr说是feedback鹤另外一个人写串了......感恩hr认真负责,已经拿到offer
恭喜恭喜!我还没有面vo。。。
回复

使用道具 举报

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

本版积分规则

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