假设您要将长度为 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/