0
点赞
收藏
分享

微信扫一扫

LeetCode 241. Different Ways to Add Parentheses

color_小浣熊 2022-10-18 阅读 52

​​题目​​

递归,分治,暴力跑就可以了

class Solution {
public:
vector<int> diffWaysToCompute(string input) {

vector<int> ans;
if(input=="")
return ans;
int tag=0;
for(int i=0;i<input.length();i++)
{
if(!(input[i]>='0'&&input[i]<='9'))
{
tag=1;
vector<int> ans1 = diffWaysToCompute(input.substr(0,i));
vector<int> ans2 = diffWaysToCompute(input.substr(i+1,input.length()-i-1));

for(int j=0;j<ans1.size();j++)
{
for(int k=0;k<ans2.size();k++)
{
if(input[i]=='+')
ans.push_back(ans1[j]+ans2[k]);
else if(input[i]=='-')
ans.push_back(ans1[j]-ans2[k]);
else
ans.push_back(ans1[j]*ans2[k]);
}
}
}
}

if(!tag)
{
int num=0;
for(int i=0;i<input.length();i++)
{
num*=10;
num+=input[i]-'0';
}
ans.push_back(num);
}

return ans;

}
};



举报

相关推荐

0 条评论