gpt4 book ai didi

Java StringBuilder 高效删除最后一次出现的字符

转载 作者:行者123 更新时间:2023-12-01 22:00:37 29 4
gpt4 key购买 nike

StringBuilder 中删除最后一次出现的 char 的最有效方法是什么?

我目前的解决方案是O(N),但我觉得这个问题可以在常数时间内解决。

public StringBuilder deleteLastOccurance(StringBuilder builder, char c) {        
int lastIndex = builder.lastIndexOf(String.valueOf(c));
if (lastIndex != -1) {
builder.deleteCharAt(lastIndex); // O(N)
}
return builder;
}

最佳答案

无论如何,最终都会花费 O(n) 时间。如果不一直检查到最后,没有其他方法可以确定最后一个字符。

即使是内部 java API 方法也将具有相同的底层实现。

关于Java StringBuilder 高效删除最后一次出现的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33551279/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com