关注
你这个代码还可以再优化,遇到空格追加,使用stringbuilder,底层的实现是会执行多次resize操作。因此在数据量大的情况下,性能会降低下来。 //设置计算游标
int isr = 0;
//执行一次N的遍历
for (int i = 0; i < origionChars.length; i++) {
if (origionChars[i] == ' ') {
isr++;
}
}
//最后的新数组的大小
int newCapacity = origionChars.length + (isr * specifiedChars.length);
char[] newChars = new char[newCapacity];
for (int i = 0, j = 0; i < newCapacity && j < origionChars.length; i++) {
if (origionChars[j] == ' ') {
for (int t = 0; t < specifiedChars.length; t++) {
newChars[i++] = specifiedChars[t];
}
j++;
continue;
}
//正常迁移
newChars[i] = origionChars[j++];
}
return new String(newChars); 通过这种方式,只执行一次的resize,在1百万长度的字符下,效率提高两倍+!
10
相关推荐
点赞 评论 收藏
分享
10-31 13:04
南华大学 Java
嵌入式的小白:很多面试,面试前不会去打扰cto的,但一般cto不会在这些小事上刷人,只能说这个cto比较操心,啥重要不重要,紧急不紧急的,估计都会过问,平淡看待吧 点赞 评论 收藏
分享
程序员花海_:实习写的看起来像项目了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# mt对你说过最有启发的一句话 #
19927次浏览 251人参与
# 工作以后,你父母对你啥态度 #
21802次浏览 160人参与
# 秋招被挂春招仍然能投的公司 #
3205次浏览 49人参与
# 秋招特别不鸣谢 #
8762次浏览 123人参与
# 摸鱼被leader发现了怎么办 #
86337次浏览 575人参与
# 什么是优秀的实习经历 #
4370次浏览 156人参与
# 今年秋招你收到了多少封邮件? #
12845次浏览 168人参与
# 2025,我想...... #
80007次浏览 633人参与
# 选实习,你更看重哪方面? #
7091次浏览 159人参与
# 工作中遇到的歹人 #
17404次浏览 223人参与
# 工作后,你落下了哪些病根 #
7453次浏览 149人参与
# 被上班搭子“传染”了哪些习惯 #
3289次浏览 75人参与
# 找工作有哪些冷知识 #
202181次浏览 2580人参与
# 实习简历求拷打 #
719次浏览 22人参与
# 晒晒你的元宵动态 #
40655次浏览 277人参与
# 打工人的精神状态 #
122077次浏览 1418人参与
# 考研失败就一定是坏事吗? #
166014次浏览 1217人参与
# 听到哪句话就代表面试稳了or挂了? #
236837次浏览 1675人参与
# 工作后明白的那些道理 #
42191次浏览 642人参与
# 一人一个landing小技巧 #
137861次浏览 1491人参与
