java - String.toCharArray()、O(n) 或 O(1) 的时间复杂度是多少

标签 java string

假设您要将长度为 n 的字符串转换为长度为 n 的字符数组。

char [] chArray = someString.toCharArray();

计算复杂度是多少?O(n) 或 O(1)(n:someString 的长度)

我的印象是它所做的只是分配大小为 n*sizeof(char) 的内存并将该字符串的副本复制到该位置。因此复制 n 个内存单元需要 O(n) 时间。是吗 ?

或者它可能是 O(1),(简单的指针重定位或如前所述 here)?

最佳答案

答案是线性时间。

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

关于java - String.toCharArray()、O(n) 或 O(1) 的时间复杂度是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22673776/

相关文章:

java - 使用 Java 创建一个新的本地数据库

java - 关于Java中的String对象和按值传递

c# - C# 中的字符串格式说明符,用于在 Gridview 中使用固定长度的字符串

python - 继续在 python 中创建可能的字符串列表

java - JUnit测试用例在eclipse中运行多次

java - 启用 Pro Guard Jackson 解析器后不起作用

c++ - 比较两个 wstring 时使用迭代器

string - Lua中分割字符串?

c++ - 如何在 C++ 的正则表达式中使用变量?

java - 从 HTML Java 中提取文本