J'ai une hashmap qui a des clés. les touches peuvent être n'importe quelle combinaison de mots d'une phrase donnée. J'essaye d'écrire la logique pour trouver si une sous-chaîne possible d'une phrase donnée est présente dans la carte comme une clé ou pas, mais n'obtenant pas de résultat.Java: Comparer chaque paire de mots de la sous-chaîne dans une phrase pour trouver si elle est la clé dans hashmap
String = "C'est mon sac que j'ai acheté hier". HashMap clés: première clé = « est mon » deuxième clé = « que j'ai acheté »
Le code que je l'ai écrit, mais je ne reçois pas résultat:
private static String getSubStringToMatch(String[] s){
String temp = "";
int counter = frequencyOfConcatenation;
for(int j = 0; j< s.length;j++){
for(int i = 0; i<counter;i++){
temp = temp +" "+ s[i];
}
System.out.println(returnSubString(temp.split(" ")));
temp = "";
counter--;
}
return temp;
}
private static String returnSubString(String[] string){
String s = "";
for(int i= 0; i<string.length;i++){
s=s+" "+string[i];
}
return s.trim().toUpperCase();
}
Pouvez-vous indiquer clairement l'exigence de la «clé»? L'algorithme doit-il gérer toutes les permutations des sous-chaînes? L'ensemble des sous-chaînes doit être contigu ou non? –
oui il faut gérer toutes les permutations car on ne sait pas quelle combinaison peut être la clé – Rishi
oui il faut qu'elle soit contiguë. – Rishi