ich versuche mich gerade zum ersten Mal in einer dieser Online Algorithmen Races und scheitere bereits bei wahrscheinlich einer der einfachsten Fragen.
Die Frage ist, dass man die Anzahl der Substrings eines Strings, die nur eine Art von Charakter erhalten zurückgibt. Ich bin einfach den String bruteforceartig durchgegangen und habe die Substrings mit Pattern eben überprüft. Es wurde lediglich der Testcase:
"ababbb" mit dem Ergebnis 9 gegeben, welches mein Programm auch erfolgreich bewältigt. Bei 6 anderen Hidden Test Cases scheitert es allerdings.
Code:
import java.util.Scanner;
import java.util.regex.Pattern;
public class Main {
static int counter=0;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
if (s.length() > 100000 || s.length() < 1) {
System.exit(0);
}
for (int i = 0; i < s.length(); i++) {
for (int k=i+1; k <= s.length();k++) {
String temp = s.substring(i, k);
if (Pattern.matches("^(.)\\1*$",temp)) {
counter++;
}
}
}
System.out.println(counter);
}
}






