求大神帮忙算一下时间复杂度,要过程,代码如下 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;

}
展开
 我来答
听不清啊
高粉答主

2016-11-17 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
这个时间复杂度是O(N)的。
追问
怎么算的?应该不是O(n),里面有递归
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式