当前位置:网站首页>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;
}
};
边栏推荐
- 输入输出流总结
- [机缘参悟-60]:《兵者,诡道也》-1-开篇:“死“与“生“都是天道
- 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
- [深入研究4G/5G/6G专题-50]: URLLC-16-《3GPP URLLC相关协议、规范、技术原理深度解读》-10-高可靠性技术-1-低编码率编码调制方案MCS与高可靠性DRB
- js深拷贝和浅拷贝具体使用区别_es6深拷贝和浅拷贝
- 【模型部署与业务落地】基于量化芯片的损失分析
- Android Sqlite3基本命令
- 广告电商系统开发功能只订单处理
- 【HMS core】【Media】【视频编辑服务】 在线素材无法展示,一直Loading状态或是网络异常
- 《中国综合算力指数》《中国算力白皮书》《中国存力白皮书》《中国运力白皮书》在首届算力大会上重磅发出
猜你喜欢

属于程序猿的浪漫

FRED应用:毛细管电泳系统
![[The Art of Hardware Architecture] Study Notes (1) The World of Metastability](/img/ac/54e4e13d9df90e96933c69623b770e.png)
[The Art of Hardware Architecture] Study Notes (1) The World of Metastability

考研上岸又转行软件测试,从5k到13k完美逆袭,杭州校区小哥哥拒绝平庸终圆梦!

Database recovery

1403. 非递增顺序的最小子序列

16、学习MySQL 正则表达式

【 HMS core 】 【 Media 】 online video editing service 】 【 material can't show, or network anomalies have been Loading state

eNSP-小型网络拓扑(DNS、DHCP、网站服务器、无线路由器)

蓝牙技术|上半年全国新增 130 万台充电桩,蓝牙充电桩将成为市场主流
随机推荐
浙江大学团队使用基于知识图谱的新方法,从空间分辨转录组数据中推断细胞间通信状况
1375. 二进制字符串前缀一致的次数-前序遍历法
中大型商业银行堡垒机升级改造就用行云管家!必看!
化算力为战力:宁夏中卫的数字化转型启示录
杭电校赛(ACM组队安排)
蓝牙技术|上半年全国新增 130 万台充电桩,蓝牙充电桩将成为市场主流
Rust 从入门到精通04-变量
License server system does not support this version of this feature
Technology sharing | Mini program realizes audio and video calls
异步编程概览
metaRTC5.0新版本支持mbedtls(PolarSSL)
自监督学习未来是掩码自编码器?KAIST最新《自监督学习掩码自编码器》研究进展
第六届未来网络发展大会,即将开幕!
小 P 周刊 Vol.13
Win11勒索软件防护怎么打开?Win11安全中心勒索软件防护如何设置
本周讨论用户体验:Daedalus 的 Nemo 加入 Ambire,探索加密海洋
Win10无法访问移动硬盘怎么解决
Cisco-小型网络拓扑(DNS、DHCP、网站服务器、无线路由器)
Unity插件:使用PopulationSystem制作行走交流的路人
【剑指offer33】二叉搜索树的后序遍历序列