Untitled
unknown
plain_text
3 years ago
867 B
10
Indexable
// it have TLE
public static String solveOld(String A) {
String R = "";
for (int i = 0; i < A.length(); i++) {
char c = A.charAt(i);
if (c >= 'a' && c <= 'z') {
R += Character.toUpperCase(c);
} else {
R += Character.toLowerCase(c);
}
}
return R;
}
// It worked
public static String solve(String A) {
StringBuilder R = new StringBuilder();
for (int i = 0; i < A.length(); i++) {
char c = A.charAt(i);
if (c >= 'a' && c <= 'z') {
R.append(Character.toUpperCase(c));
} else {
R.append(Character.toLowerCase(c));
}
}
return R.toString();
}
String is slow and consumes more memory when we concatenate too many strings because every time it creates new instance.
StringBuffer is fast and consumes less memory when we concatenate t strings.
Can you please explain how?
Editor is loading...