-
Mots bien parenthésés
Bonjour.
Je sollicite votre aide concernant une question d'un devoir que j'ai à faire en programmation java, appliqué aux maths . Je sèche totalement .
Le but est d'écrire une méthode java, récursive, prenant en paramètre un nombre entier n, et dont le but est d'afficher tous les mots bien parenthésés de longueur 2n.
Un mot bien parenthésé est une succession de parenthèses ouvrantes et fermantes, telle que une ouvrante est toujours refermée par une fermante, par exemple
( )( )( ) et ( ( ) ) sont des mots bien parenthésés .
( et ( ( ( ) ) sont des mots pas bien parenthésés .
J'espère que vous pourrez m'aider, ou du moins me débloquer ! ...
Merci d'avance .
-
Pour obtenir de l'aide, il serait bon de préciser où ça coince et pourquoi. Ainsi que d'y joindre une ébauche de ton code problématique.
-
Ok :) Par contre, je n'ai pas de code, juste des idées .
Je pense qu'il faut que je crée tous les mots parenthésés et que après je trie les mots bien parenthésés des mauvais.
Pour différencier les bons des mauvais, je pense pas avoir trop de soucis, j'utilise une pile :
On regarde le 1er élément du mot .
Si c'est une parenthèse ouvrante ( , on l'empile .
Sinon, on retourne false car un mot bien parenthésé ne peut pas commencer par ) .
Quand on regarde le i-ème élément du mot (différent du premier)
Si c'est une ouvrante ( alors on l'empile
Sinon, on regarde le sommet de la pile .
Si ce sommet est une parenthèse fermante alors on retourne false
Si ce sommet est une parenthèse ouvrante ( alors on dépile ce sommet et on passe à l'élément i+1 .
En fait mon soucis est de savoir comment tous les afficher, et tous les placer dans une ArrayList,..