尘素
Java后端
·2024-01-07
算法 算法和数据结构 每日一题 一个简单题,确实触及到我java知识的盲区 StringBuilder的底层数据结构以及 append方法的底层操作和时间复杂度 toString的底层操作以及时间复杂度 我:在循环中使用了result =word.charAt(i); 时间复杂度,空间复杂度:O(n^2) 为什么这么差?为什么不是线性? 查阅底层中…… 重复创建StringBuilder对象,重复复制:1k,2k,3k……nk, 重复toString…… StringBuilder的底层有个动态数组——ArrayList<Character> 欧!!!!!!原来如此,恍然大悟! 在for循环外创建StringBuilder,只需一个对象 for循环中append就行(O(1)) 这样,便是降到线性
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP