Bitteschön, kann von der Performance glaube ich nicht eingeholt werden:
[code=Java] public static void main(String[] args) {
String text = "abbcccddddeeeeeffffff";
String text2 = text.toUpperCase();
System.out.println(schnaps(text));
System.out.println(schnaps(text2));
}
static boolean schnaps(String text) {
try {
for (int i = 0, j = 1; i < text.length(); i += j, j++) {
System.out.println(text.substring(i, i + j)); // just an output ....
char befor = i > 0 ? text.charAt(i - 1) : (char) (text.charAt(i) - 1);
char after = text.charAt(i);
if (befor + 1 != after) {
return false;
}
for (int k = i; k < i + j; k++) {
if (text.charAt(k) != after) {
return false;
}
}
}
} catch (StringIndexOutOfBoundsException sioobe) {
return false;
}
return true;
}[/code]
Auch ich 3 Variablen inzwischen...