2016-11-30 1 views
-4

Je suis en train de résoudre un problème où j'ai donné un fichier texte avec des mots suivis par saut de ligne charecterComment trouver si une entrée donnée est un mot significatif ou non

Je dois écrire une fonction qui prend l'entrée en une chaîne et devrait retourner la sortie vrai si c'est un mot significatif sinon faux.

Ma tentative de le faire est de traverser le fichier texte et de maintenir un hachage pour les mots. Si mon entrée donnée est un mot qui existe dans le hachage, je retournerai vrai sinon faux. Mais le hachage a une complexité d'espace de O (n) comment pouvons-nous y parvenir autrement.

S'il vous plaît aidez-moi avec la solution.

+2

"S'il vous plaît aidez-moi avec la solution et ne soyez pas dur de ne pas fournir le code de ce que j'ai essayé." Montre un peu d'effort. – ceejayoz

+0

Si vous essayez d'apprendre le vocabulaire à partir d'un fichier texte qui est bien et que vous ne pouvez pas faire mieux que la complexité de l'espace O (| V |) où | V | est la taille de votre vocabulaire. – gidim

+0

Afficher le code en premier ou ne pas obtenir d'aide –

Répondre

1

Vous pouvez essayer de diviser votre fichier texte en plusieurs fichiers texte. Si votre fichier texte contient des mots allant de A à Z, essayez de les décomposer de manière significative afin de ne faire que trier une partie de ces mots au lieu du dictionnaire entier. Comme d'autres l'ont fait remarquer, nous ne sommes pas ici pour écrire le code pour vous, merci de poster ce que vous avez essayé jusqu'à présent afin que nous puissions vous aider!

+0

Oh merci juste pour clarifier est-ce une question faisable en 30 minutes – Srisa

+0

on m'a demandé la même chose dans une interview téléphonique pour mettre en œuvre – Srisa

+0

Eh bien cela dépend. Si on vous demandait dans une interview, ils ne veulent probablement pas que vous vous amusiez avec le dictionnaire actuel, ce qui signifie que votre meilleur pari est probablement l'arbre expliqué ci-dessus! Bonne chance dans vos interviews! Je crois que c'est faisable en 30 minutes. – Jay