求大神帮忙算一下时间复杂度,要过程,代码如下 vector<int> calculate(string 80
求大神帮忙算一下时间复杂度,要过程,代码如下vector<int>calculate(stringstr){intleftLength=0;intresult=0;vec...
求大神帮忙算一下时间复杂度,要过程,代码如下
vector<int> calculate(string str)
{
int leftLength = 0;
int result = 0;
vector<int> temp;
for(leftLength = 1;leftLength < str.length();leftLength += 2)
{
vector<int> templ,tempr;
string left = str.substr(0,leftLength);
string right = str.substr(leftLength+1,str.length() - leftLength);
char op = str[leftLength];
int l,r,tl,tr;
if(left.length() == 1)
{
templ.push_back(left[0]-'0');
}
if(right.length() == 1)
{
tempr.push_back(right[0]-'0');
}
if(left.length() > 1)
{
templ = calculate(left);
}
if(right.length() > 1)
{
tempr = calculate(right);
}
for (tl = 0;tl < templ.size();tl++)
{
for(tr = 0;tr < tempr.size();tr++)
{
l = templ[tl];
r = tempr[tr];
switch(op)
{
case '+': result = l + r; temp.push_back(result);break;
case '-': result = l - r; temp.push_back(result);break;
case '*': result = l * r; temp.push_back(result);break;
}
}
}
}
return temp;
} 展开
vector<int> calculate(string str)
{
int leftLength = 0;
int result = 0;
vector<int> temp;
for(leftLength = 1;leftLength < str.length();leftLength += 2)
{
vector<int> templ,tempr;
string left = str.substr(0,leftLength);
string right = str.substr(leftLength+1,str.length() - leftLength);
char op = str[leftLength];
int l,r,tl,tr;
if(left.length() == 1)
{
templ.push_back(left[0]-'0');
}
if(right.length() == 1)
{
tempr.push_back(right[0]-'0');
}
if(left.length() > 1)
{
templ = calculate(left);
}
if(right.length() > 1)
{
tempr = calculate(right);
}
for (tl = 0;tl < templ.size();tl++)
{
for(tr = 0;tr < tempr.size();tr++)
{
l = templ[tl];
r = tempr[tr];
switch(op)
{
case '+': result = l + r; temp.push_back(result);break;
case '-': result = l - r; temp.push_back(result);break;
case '*': result = l * r; temp.push_back(result);break;
}
}
}
}
return temp;
} 展开
1个回答
展开全部
这个时间复杂度是O(N)的。
追问
怎么算的?应该不是O(n),里面有递归
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
上海华然企业咨询
2024-10-28 广告
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步...
点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询