【发布时间】:2018-07-04 21:41:06
【问题描述】:
我想创建一个string,其中包含* 符号n 次。
我只看到这种方式:
val s = ""
val n = 100
for (j in 0 until n) {
s += "*"
}
但它看起来很难看,而且时间复杂度为 O(n^2)。 Kotlin 有没有一种方法可以在没有具有更好时间复杂度的循环的情况下做到这一点?
【问题讨论】:
-
这实际上是 O(n²),因为
s += "*"重新创建了整个字符串(长度为 1 到 n)并添加了一个“*”。 -
我更正了这个问题,谢谢
-
解决性能问题使用
val s = StringBuilder(n)
标签: kotlin