java什么是字符串的时间复杂度。toCharArray(),O(n)或O(1)
假设要将长度为n的字符串转换为长度为n的字符数组
char [] chArray = someString.toCharArray();
计算复杂度是多少?O(n)或O(1)(n:某个字符串的长度)
我的印象是,它所做的只是分配大小为n*sizeof(char)的内存,并将该字符串复制到该位置。所以复制n个存储单元需要O(n)个时间。是吗
或者它可以是O(1),(简单的指针重新定位,或者如前面提到的here)
# 1 楼答案
这是线性时间;它进行复制,复制需要线性时间。(常数因子可能很低,但总体上仍然是线性的。)
# 2 楼答案
答案是线性时间
可以将其视为复制单个字符并将其放入数组。它取决于元素的数量,所以是O(n)