abl*_*ard 4 python string algorithm time-complexity slice
python str slice 的时间复杂度是 O(k) 还是 O(n)?
我正在阅读的答案表明其 O(k) 但我不明白如何。
例如
my_str = "thisismystringfortesting"
sub_str = my_str[3:10]
Run Code Online (Sandbox Code Playgroud)
我理解它只提取 (k) 个字符,但是该操作是否必须在切片之前先将整个字符串转换为列表?我的思考过程是,仅将整个字符串转换为列表将花费 O(n)。除非只有部分字符串被转换成列表?
那么有人可以解释一下 Python 上的字符串切片是 O(k) 还是 O(n) 吗?
非常感谢!
result_buf = PyBytes_AS_STRING(result);
for (cur = start, i = 0; i < slicelength;cur += step, i++) {
result_buf[i] = source_buf[cur];
}
return result;
Run Code Online (Sandbox Code Playgroud)