【发布时间】:2016-08-29 10:56:45
【问题描述】:
public String joinWords(String[] words)
{
String sentence = "";
for (String w : words)
{
sentence = sentence + w;
}
return sentence;
}
假设所有字符串的长度都相同(称为 x)并且有 n 个字符串。 在每次连接时,都会创建一个新的字符串副本,然后逐个字符地复制这两个字符串。第一次迭代需要我们复制 x 个字符。第二次迭代需要复制 2x 个字符。第三次迭代需要 3x,依此类推。因此总时间为 O(x + 2x + . . . + nx)。这减少到 O(xn^2)。
1)我无法从书中回答他们如何在第三次迭代中获得 3x 个字符,在第 4 次迭代中获得 4x 个字符。 String 是不可变的,并且在每个句子变量赋值中都会创建新的 String 对象。 然后应该将字符串 char 的先前值复制 char 和 w 的值。我又得到了 2x 个字符。 谢谢你们 !
【问题讨论】:
-
您忘记了 C++、JavaScript 和 Scala 标记...
-
@Tom,不错的评论伙伴......真的很喜欢它
标签: java c# python string data-structures