soir,Java: Comment vérifier si les caractères sont contenus dans une chaîne
J'essaie de trouver la meilleure solution pour résoudre ce problème:
Entrée:
String1 = "algrtvy";
String2 = "alg";
String3 = "gvy";
String4 = "mgr";
String5 = "aall";
Les caractères de str2, 3, 4, 5 sont-ils contenus dans 1?
Sortie
true
true
false
false
donc, je ne suis pas la vérification de la séquence (sous-chaîne), mais pour les personnages simples.
Des conseils? Je suis à la recherche de la solution à jeun en temps de calcul.
Solution:
Cette solution est une version mise en œuvre de la réponse du @ davidxxx.
public boolean haveChars(String longerString, String shorterString) {
String chars = longerString;
for (char c : shorterString.toCharArray()){
int index = chars.indexOf(c);
if (index == -1) {
return false;
} else {
chars = chars.substring(0,index) + chars.substring(index + 1);
}
}
return true;
}
Je ne pense pas que ce soit un double OP comme ne nécessite pas de vérifier sous-chaîne. OP vérifie la sous-séquence. –
L'énoncé du problème est trompeur. "Contained in" suggère une sous-chaîne, mais la sortie 'true' de' String3' suggère qu'il s'agit de caractères individuels. – jsheeran
ce n'est pas un doublon @EnzoNocera, je ne cherche pas une sous-chaîne, je suis à la recherche de caractères de vérification. –