首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
活宝泽润润🦄
2018-03-01 11:04
已编辑
东北大学 Java
关注
已关注
取消关注
一个去括号的算法题,有人会吗
在表达式值不变的情况下,将输入的表达式中的括号全去掉,并输出去掉括号后的表达式。
比如输入 (a-(b+c)),输出 a-b-c;
再比如输入 ((a+b)-(c-d))-(e+f) ,输出 a+b-c+d-e-f。
#Java工程师#
#C++工程师#
提示
全部评论
推荐
最新
楼层
Horace7
伦敦大学学院 算法工程师
static String removeParentheses(String input){ int length = input.length(); char[] array = input.toCharArray(); int count = 0; Stack<Integer> parenthesesStack = new Stack<>(); StringBuilder sb = new StringBuilder(); for (int i=0; i< length; i++){ switch (array[i]){ case '-': sb.append(((count&1) == 1)?'+':'-'); if(i < length - 1 && array[i+1] == '('){ count ++; parenthesesStack.push(i+1); i++; } break; case ')': int lastLeftIndex = parenthesesStack.pop(); if (lastLeftIndex > 0 && array[lastLeftIndex - 1] == '-') { count--; } break; case '+': sb.append(((count&1) == 1)?'-':'+'); break; case '(': parenthesesStack.push(i); break; default: sb.append(array[i]); } } return sb.toString(); }
点赞
回复
分享
发布于 2018-03-01 15:25
BewareMyPower
中国科学院大学 Java
std::string remove_parentheses(const std::string& _str) { auto s = _str; int n = s.size(); std::unordered_map<char, int> pth_cnt; // '('和')'的数量 auto init_pth_cnt = [&pth_cnt] { pth_cnt['('] = 1; pth_cnt[')'] = 0; }; auto op_reverse = [](bool b, char& ch) { // '+'或'-'反号 if (b) ch = (ch == '+') ? '-' : (ch == '-' ? '+' : ch); }; for (int i = 0; i < n; i++) { // 括号无'-'前缀 if (s[i] == '(' || s[i] == ')') s[i] = ' '; // 前缀为'-',则括号内'+'和'-'反号 if (s[i] == '-' && s[i + 1] == '(') { s[i + 1] = ' '; init_pth_cnt(); bool bReverse = true; // 是否反号, 若之前'-('数量为偶数则不反号 for (i = i + 2; i < n && pth_cnt['('] > pth_cnt[')']; i++) { char ch = s[i]; op_reverse(bReverse, s[i]); // 上步处理后s[i]可能发生改变,因此之后对ch而非s[i]进行判断 if (ch == '(' || ch == ')') { s[i] = ' '; pth_cnt[ch]++; } if (ch == '-' && s[i + 1] == '(') { bReverse = !bReverse; pth_cnt['(']++; s[++i] = ' '; } } // 结束"...-(...)"中括号内的处理 } } return s; } C++实现,参考了楼上的做法
点赞
回复
分享
发布于 2018-03-01 14:12
=..=
腾讯_天美_研发工程师(准入职)
不知道这样行不行,随手写了写 string remove_parentheses(string s){ int len = s.length(); for (int i = 0; i < len; i++){ if ((s[i] == '-') && (s[i + 1] == '(')){ s[i + 1] = ' '; int count = 1; for (int j = i + 2; j < len; j++){ if (s[j] == '('){ count++; s[j] = ' '; } else if (count < 1)break; else if (s[j] == ')'){ count--; s[j] = ' '; } else if (count == 1&&s[j] == '+') s[j] = '-'; else if (count == 1&&s[j] == '-') s[j] = '+'; } } else if (s[i] == '(' || s[i] == ')') s[i] = ' '; } string res = ""; for (int i = 0; i < len;i++) if (s[i] != ' ') res += s[i]; return res; }
点赞
回复
分享
发布于 2018-03-01 11:01
promise_sunshine
华南理工大学 C++
楼主是想问逆波兰表达式吗
点赞
回复
分享
发布于 2018-03-01 11:21
Accepts
湖南生物机电职业技术学院 Java
是只有±运算吗?
点赞
回复
分享
发布于 2018-03-01 00:36
打不死的小强啊
字节跳动_前端
对啊,直接便利去掉就行了,又不用配对处理
点赞
回复
分享
发布于 2018-02-28 23:02
offer等等我
某985 算法工程师
用正则表达式进行模式匹配,可以很轻松地处理吧?
点赞
回复
分享
发布于 2018-02-28 21:59
向宇同桌
牛客网创始人
这个不用算法啊。直接字符串遍历处理就好了
点赞
回复
分享
发布于 2018-02-28 21:37
暂无评论,快来抢首评~
相关推荐
11-04 15:43
牛客运营
京东校招薪资大赏
今年京东给你开了多少?
薪资爆料
点赞
评论
收藏
分享
10-11 19:29
上海应用技术大学 运营
26届目前0offer,有大佬可以帮忙看看嘛
青春运维少年不会梦到...:
实习大王
点赞
评论
收藏
分享
10-21 16:57
浙江理工大学 嵌入式工程师
什么时候双非硕才上桌呀
简历感觉还行,想找硬件开发的工作,线上线下投了差不多两百份简历咯还有几个面试官说项目太简单
热爱生活的咸鱼在吃瓜:
个人建议,项目太简单了,实习干的活都是测试的活,反正又没人知道你实习干啥了,你懂吧
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
招聘动态
查看更多
字节跳动火山引擎
2026校园招聘
联想
2026届校园招聘
字节跳动
2026校园招聘
联想
26届AI专项|内推码NK2026
快手
2026届校园招聘
联想
2026届校园招聘
完美世界
全站热榜
更多
1
...
数字马力一面
5289
2
...
26届0实习秋招总结
2984
3
...
数字马力一面
2644
4
...
27找实习,简历求拷打
2192
5
...
上班还能尸体回温。。。
2066
6
...
面试官你是来骗方案了吧?休想
1787
7
...
“二本美团工作一年打算裸辞”,或许我也应该重新思考我的未来了
1706
8
...
美团是WLB吗?说说我一年多的感受!
1703
9
...
xdm,第几投了
1565
10
...
企鹅后端日常实习二面
1537
创作者周榜
更多
正在热议
更多
#
同bg的你秋招战况如何?
#
168500次浏览
976人参与
#
工作后,谈恋爱还和学生时代一样吗?
#
39772次浏览
373人参与
#
京东开奖
#
448758次浏览
2504人参与
#
今年秋招是回暖还是遇冷
#
22478次浏览
146人参与
#
职场破冰,你们都聊什么?
#
29133次浏览
153人参与
#
你实习是赚钱了还是亏钱了?
#
21486次浏览
194人参与
#
360集团校招
#
3916次浏览
22人参与
#
阿里云工作体验
#
32123次浏览
108人参与
#
你的领导最像哪种动物,为什么?
#
24462次浏览
134人参与
#
我的AI电子员工
#
21269次浏览
152人参与
#
三一集团提前批进度交流
#
40498次浏览
228人参与
#
毕业论文进行时
#
2994次浏览
54人参与
#
诺瓦星云求职进展汇总
#
225973次浏览
1732人参与
#
我来点评面试官
#
11280次浏览
85人参与
#
教师节,你送祝福了吗
#
11920次浏览
76人参与
#
来聊聊你目前的求职进展
#
686807次浏览
6921人参与
#
秋招开始捡漏了吗
#
64398次浏览
443人参与
#
找工作八股要背到什么程度?
#
13037次浏览
199人参与
#
上班摸鱼,你都在干些什么?
#
29416次浏览
223人参与
#
用一句话形容你的团队氛围
#
14024次浏览
150人参与
#
三一重工求职进展汇总
#
22846次浏览
82人参与
#
你找工作是从容有余 or 匆忙滚爬?
#
7667次浏览
76人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务