J'essaie d'obtenir des caractères possibles manquants par exemple:Comment calculer les caractères manquants possibles?
entrée ->aa??bb
il devrait y avoir des caractères possibles aaaabb
& aaabbb
& aabbbb
de sorte que le résultat serait 3, également ?a?
serait 1.
Remarque : aababb
aurait tort, car ce n'est pas un bon chemin pour l'alphabet.
J'ai fait du code ici mais je n'ai pas encore trouvé le résultat parfait.
Quelqu'un peut-il m'aider?
Scanner input = new Scanner(System.in);
String s = input.nextLine();
int possibleAlphabet = 1, oldPossibleAlphabet = 0;
for (int i = 0; i < s.length(); i++) {
oldPossibleAlphabet = 0;
System.out.print(s.charAt(i));
if (s.charAt(i) >= 'a' && s.charAt(i) <= 'z' || s.contains("?")) {
if (s.charAt(i) == '?'){
for (int j = 0; j < i; j++) {
if (s.charAt(i - 1) == '?' && s.charAt(i + 1) == '?')
oldPossibleAlphabet++;
}
}
}else {
System.out.print(" ");
System.exit(0);
}
possibleAlphabet += oldPossibleAlphabet;
}
System.out.println(possibleAlphabet);
@MuratK. J'ai oublié de mentionner cela, ce serait dans le même chemin, par exemple 'acb' est faux 'abc' est juste. – user1058652
pourquoi 'aababb' n'est pas un cas possible? –
@mustabelMo parce qu'un est venu avant b, comme un avant deux! – user1058652