【发布时间】:2019-01-17 15:56:05
【问题描述】:
我想从这两个中知道哪个在“时间复杂度”方面更好:
for(int i=0;i<n;i++){
s=s+"0";
}
和
for(int i=0;i<n;i++){
s+="0";
}
我正在解决一个问题,我在使用第一种方法时发现“TLE(Time Limit Exceed)”,但它适用于第二种方法。
【问题讨论】:
-
您可能应该使用
s += std::string( n, '0' );而不是循环。 -
甚至更短的
s.append(n, '0'); -
当有更复杂的算法可用时,TLE 通常是选择错误算法的症状。你确定这是最贵的线路吗?
-
@user463035818 是的,我刚刚更改了这一行并且解决方案被接受了。
-
如果是这样,那么您遇到了一个例外,您可以真正从在线法官那里学到有用的东西;)
标签: c++ string string-concatenation