关注
你这个代码还可以再优化,遇到空格追加,使用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
相关推荐
点赞 评论 收藏
分享
01-06 18:56
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26年哪些行业会变好/更差 #
13540次浏览 179人参与
# 卷__卷不过你们,只能卷__了 #
6796次浏览 159人参与
# MiniMax求职进展汇总 #
219次浏览 4人参与
# 去年的flag与今年的小目标 #
6514次浏览 155人参与
# 哪些公司在招寒假实习? #
7048次浏览 84人参与
# 有深度的简历长什么样? #
12426次浏览 262人参与
# 机械人的秋招小目标 #
25792次浏览 226人参与
# 现在前端的就业环境真的很差吗 #
488020次浏览 5882人参与
# 写论文的崩溃时刻 #
3403次浏览 100人参与
# 入职第一天 #
7612次浏览 149人参与
# 你不能接受的企业文化有哪些 #
7265次浏览 122人参与
# 央国企投递记录 #
170083次浏览 1633人参与
# 腾讯音乐求职进展汇总 #
146986次浏览 1042人参与
# 你都用AI做什么 #
4759次浏览 112人参与
# 实习教会我的事 #
48553次浏览 359人参与
# 一人分享一道面试手撕题 #
16400次浏览 671人参与
# 秋招白月光 #
645624次浏览 5009人参与
# 一人一道大厂面试题 #
112043次浏览 1253人参与
# 应届生应该先就业还是先择业 #
163331次浏览 828人参与
# 实习,不懂就问 #
148567次浏览 1337人参与
# 新凯来求职进展汇总 #
67103次浏览 174人参与

