当前位置:网站首页>leetcode:241. 为运算表达式设计优先级
leetcode:241. 为运算表达式设计优先级
2022-08-04 14:31:00 【OceanStar的学习笔记】
题目来源
题目描述
class Solution {
public:
vector<int> diffWaysToCompute(string expression) {
}
};
题目解析
对于一个形如 x op y(op 为运算符,x 和 y 为数) 的算式而言,它的结果组合取决于 x 和 y 的结果组合数,而 x 和 y 又可以写成形如 x op y 的算式。
因此,该问题的子问题就是x op y
中的 x 和 y :以运算符分隔的左右两侧算术解
三步:
- 分解:按照运算符分成左右两部分,分别求解
- 解决:实现一个递归函数,输入算式,返回算式解
- 合并:根据运算符合并左右两部分的解,得出最终解
class Solution {
public:
vector<int> diffWaysToCompute(string exp) {
vector<int> vec1, vec2, res;
int N = exp.size();
int flag = 0;// flag=1说明string是表达式,flag=0说明string是一个数字
for (int i = 0; i < N; ++i) {
if(exp[i] == '+' || exp[i] == '-' || exp[i] == '*'){
flag = 1;
vec1 = diffWaysToCompute(std::string(exp, 0, i));
vec2 = diffWaysToCompute(std::string(exp, i + 1, N - i - 1));
for(int v1 : vec1){
for(int v2 : vec2){
if(exp[i] == '+') res.push_back(v1+v2);
if(exp[i] == '-') res.push_back(v1-v2);
if(exp[i] == '*') res.push_back(v1*v2);
}
}
}
}
if(flag == 0){
return {
std::stoi(exp)};
}
return res;
}
};
边栏推荐
- oracle+RAC+linux5.1所需要安装的包
- 自监督学习未来是掩码自编码器?KAIST最新《自监督学习掩码自编码器》研究进展
- 数据库恢复
- Oracle RAC环境下vip/public/private IP的区别
- Bluetooth Technology|In the first half of the year, 1.3 million charging piles were added nationwide, and Bluetooth charging piles will become the mainstream of the market
- SLAM 04.视觉里程计-1-相机模型
- ACL 2022 | 社会科学理论驱动的言论建模
- Technology sharing | Description of the electronic fence function in the integrated dispatching system
- MySQL【触发器】
- Qt的QItemDelegate使用
猜你喜欢
JCMsuite应用:倾斜平面波传播透过光阑的传输
理论篇1:深度学习之----LetNet模型详解
谷歌插件.crx文件下载后被自动删除的解决方法
SLAM 05.视觉里程计-2-特征法
四平方和,激光炸弹
本周讨论用户体验:Daedalus 的 Nemo 加入 Ambire,探索加密海洋
[Beiya data recovery] IBM System Storage storage lvm information lost data recovery solution
NPDP|作为产品经理,如何快速提升自身业务素养?
【北亚数据恢复】IBM System Storage存储lvm信息丢失数据恢复方案
Win11勒索软件防护怎么打开?Win11安全中心勒索软件防护如何设置
随机推荐
谷歌插件.crx文件下载后被自动删除的解决方法
化算力为战力:宁夏中卫的数字化转型启示录
蓝牙技术|上半年全国新增 130 万台充电桩,蓝牙充电桩将成为市场主流
记录都有哪些_js常用方法总结
技术分享| 小程序实现音视频通话
Win10无法访问移动硬盘怎么解决
Chinese valentine's day, of course, to learn SQL optimization better leave work early to find objects
ICML 2022 | 图神经网络的局部增强
数据库恢复
中大型商业银行堡垒机升级改造就用行云管家!必看!
ASA归因:如何评估关键词的投放价值
相似文本聚类与调参
Rust from entry to proficient 04-variables
【问题解决】QT更新组件出现 “要继续此操作,至少需要一个有效且已启用的储存库”
How to Identify Asynchronous I/O Bottlenecks
【硬件架构的艺术】学习笔记(1)亚稳态的世界
Why does the decimal point appear when I press the space bar in word 2003?
《中国综合算力指数》《中国算力白皮书》《中国存力白皮书》《中国运力白皮书》在首届算力大会上重磅发出
Makefile syntax and usage notes
OAID是什么