Ton*_*ony 5 java string stringbuilder
考虑以下输入:
String[] input = {"a9", "aa9", "a9a9", "99a99a"};
Run Code Online (Sandbox Code Playgroud)
使用StringBuilder直接替换9之前的任何数字与字母表后面的下一个字母时,最有效的方法是什么?
处理完这些输入后,输出应为:
String[] output = {"b9", "ab9", "b9b9", "99b99a"}
Run Code Online (Sandbox Code Playgroud)
我一直在摸不着头脑,而StringBuilder.setCharAt是我能想到的最好的方法.
任何建议或意见将不胜感激.
由于您必须查看每个字符,因此您的性能永远不会比缓冲区大小的线性表现更好。所以你可以做类似的事情
for (int i=1; buffer.length() ++i) // Note this starts at "1"
if (buffer.charAt[i] == '9')
buffer.setCharAt(i-1, buffer.getCharAt(i-1) + 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |