4,1,3是一个字符串输入,我需要找到用逗号分隔的所有元素的总和,并显示用逗号分隔的所有和,例如1 + 3 = 4,4 + 3 = 7,4 + 1 = 5因此O(n)的最终输出应为4,7,5。我用O(n ^ 2)完成了这个
for(int i=0;i<size;i++)
{
sum=0;
if(s[i] != ',')
{
for(int j=size-1;j>=0;j--)
{
if(s[j] != ',' && j!=i)
sum = sum+(s[j]-48);
}
if(i == size-1)
cout<<sum;
else
cout<<sum<<',';
}
}
return 0;
}
好的......我们不是在这里解决社区的功课,你对问题的风格有足够的评论。此外,您的问题似乎不是C ++,而是算法。我希望你能从中学到下一个问题。但我发现这很有趣。这是一个想法:
a)迭代所有元素并计算所有元素的总和 - > O(n)
b)迭代所有元素并输出(sum - element) - > O(n)
O(n)+ O(n)= O(n)