有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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


共 (2) 个答案

  1. # 1 楼答案

    这是线性时间;它进行复制,复制需要线性时间。(常数因子可能很低,但总体上仍然是线性的。)

  2. # 2 楼答案

    答案是线性时间

    可以将其视为复制单个字符并将其放入数组。它取决于元素的数量,所以是O(n)