首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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:00
OPPO_AI算法部_AI研究员(准入职员工)
霸王茶姬内推,霸王茶姬内推码
1️⃣霸王茶姬面经(hr面) “简单自我介绍一下” 我大概讲了专业成绩和获奖等,我特意提到了我在社团有过活动策划的经历 “嗯有过活动策划经历是吧,说一下你对最近的市场热点有关注吗” “你了解霸王茶姬吗?就你的了解说一下” “你知道我们最近做的活动吗?” “你觉得你的沟通能力怎么样” “你知道达人是什么吗” “你了解我们这个岗位吗” “你觉得以你的经历,能为这个岗位带来什么,你做这个岗位的优势是什么” “你从大学城到公司大概要多久” -反问环节 问了薪资和上下班时间之类的 2️⃣霸王茶姬复试面经(部门主管面) “简单介绍一下自己” “你觉得做一个活动策划最重要的是什么” “你想从我们这个实习中获...
点赞
评论
收藏
分享
10-31 22:22
中南大学 Java
应届生校招进体制机会大盘点
声明:本人劝退互联网,真没开玩笑,互联网没那么好,想进互联网的建议先扪心自问4个问题:1.我爱学习否?2.我有自驱力否?3、我能抗压否?4.我适应能力强否?四个条件都满足的人我才建议你去互联网混饭吃,不然会难受死。我的观点是:你可以冲互联网,但前提是你得先知道自己适不适合互联网。对于应届生而言,校招期间进入体制内的机会众多,从现在到毕业,至少有十几次上岸可能。本文将系统梳理这些机会,帮助大家清晰了解各类途径的关键信息,为求职规划提供参考。一、国央企校招:近且久的机会国央企校招是当前距离应届生较近,且时间跨度最长的机会,从现在起至明年毕业,会持续有企业开启招聘。其显著特点是招聘量大,国资委直接监...
Java抽象带篮子:
蚌埠住了,刚发就看到这个视频
查看图片
当下环境,你会继续卷互联...
点赞
评论
收藏
分享
10-15 15:48
山东师范大学 C++
虎牙到hr面了
大佬们,虎牙进hr面了,应该准备些什么,会直接问薪资嘛😍😍
元西是什么:
一共几面啊佬
点赞
评论
收藏
分享
10-10 11:47
武汉工程大学邮电与信息工程学院 前端工程师
真没招了。学院不配找实习吗,秋招没戏了吗
😭 有没有大佬可以内推的啊
实习想申请秋招offer...
点赞
评论
收藏
分享
11-04 01:28
门头沟学院 测试开发
团队氛围?你说影石? 氛围很棒,部门同事小姐姐颜值很高.
由于部门保密机制的问题,不能透漏太多内容,所以平时有很多友友私信问我一些关于公司的问题,都非常敏感,这里说声抱歉无法告知毕竟不是lastday, 还是需要注意下滴.请理解.1.影石这边测试部氛围都还可以,团队整体偏活跃,平时项目,业务对其都较为流程,年龄跨度也不是很大,基本也很好聊到一起去.2.公司价值观很多,有很多的激励机制,多劳多得,鼓励thinkbold. 大胆提出你的想法,很多时候都有机会被采纳.3.还有关于我的工作内容,很多同学都私信问过,这边的话分为测开和业务测试,测开只开不测,业务测试只测不开,职责分明,各司其职.其他的就后面想到什么再发什么叭 随便附图几张给大家看个乐子
影石Insta360公司氛围 452人发布
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
招聘动态
查看更多
字节跳动火山引擎
2026校园招聘
联想
2026届校园招聘
字节跳动
2026校园招聘
联想
26届AI专项|内推码NK2026
快手
2026届校园招聘
联想
2026届校园招聘
完美世界
全站热榜
更多
1
...
数字马力一面
4841
2
...
26届0实习秋招总结
2888
3
...
数字马力一面
2163
4
...
27找实习,简历求拷打
2137
5
...
上班还能尸体回温。。。
2067
6
...
面试官你是来骗方案了吧?休想
1739
7
...
美团是WLB吗?说说我一年多的感受!
1606
8
...
“二本美团工作一年打算裸辞”,或许我也应该重新思考我的未来了
1564
9
...
企鹅后端日常实习二面
1557
10
...
xdm,第几投了
1528
创作者周榜
更多
正在热议
更多
#
同bg的你秋招战况如何?
#
168312次浏览
976人参与
#
工作后,谈恋爱还和学生时代一样吗?
#
39647次浏览
373人参与
#
360集团校招
#
3726次浏览
22人参与
#
今年秋招是回暖还是遇冷
#
22261次浏览
146人参与
#
职场破冰,你们都聊什么?
#
28998次浏览
153人参与
#
你实习是赚钱了还是亏钱了?
#
21277次浏览
194人参与
#
京东开奖
#
448226次浏览
2504人参与
#
阿里云工作体验
#
32007次浏览
108人参与
#
你的领导最像哪种动物,为什么?
#
24354次浏览
134人参与
#
我的AI电子员工
#
21148次浏览
152人参与
#
三一集团提前批进度交流
#
40385次浏览
228人参与
#
毕业论文进行时
#
2838次浏览
50人参与
#
诺瓦星云求职进展汇总
#
225855次浏览
1732人参与
#
我来点评面试官
#
11116次浏览
85人参与
#
教师节,你送祝福了吗
#
11802次浏览
76人参与
#
来聊聊你目前的求职进展
#
686683次浏览
6921人参与
#
秋招开始捡漏了吗
#
64114次浏览
442人参与
#
找工作八股要背到什么程度?
#
12855次浏览
199人参与
#
上班摸鱼,你都在干些什么?
#
29288次浏览
223人参与
#
用一句话形容你的团队氛围
#
13827次浏览
150人参与
#
三一重工求职进展汇总
#
22730次浏览
82人参与
#
你找工作是从容有余 or 匆忙滚爬?
#
7527次浏览
76人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务