Salutations.
Je publie les défis Codewars et mon processus de réflexion dans cette série. J'utilise JS et Node 18 autant que possible. Par souci de clarté, j'en fais un usage équitable.
Ok, c'était juteux. Essentiellement, vous devez supprimer les doublons dans une chaîne, ordonner ce qui reste et joindre deux chaînes. Pas exactement dans cet ordre. En fait, je l'ai fait exactement à l'opposé. Et j'ai également construit une fonction utilitaire pour une étape très spécifique (suppression des doublons).
Tout d’abord, concaténez deux chaînes. Facile :
let longest = s1 + s2;
Deuxièmement, divisez les lettres :
let array = new Array(s1.length + s2.length); for (let i = 0 ; i < s1.length + s2.length ; i++ ){ array[i] = longest[i]; }
Troisièmement, triez les lettres :
array = array.sort((a, b) => a.localeCompare(b)); // (a, b) => a.localeCompare(b) THIS IS REDUNDANT, but I leave it as a reminder
Quatrièmement, supprimez les doublons :
function keepFirstLetter(array){ let arrayFixed = new Array(array.length); let counter = 0; arrayFixed[0] = array[0]; for (let i = 0 ; i < array.length ; i++ ){ if (arrayFixed[counter] != array[i]){ counter++; arrayFixed[counter] = array[i]; } } return arrayFixed; }
Cinquièmement, nettoyez :
array = array.join("");
Enfin, placez chaque pièce du puzzle ensemble :
function longest(s1, s2) { let array = new Array(s1.length + s2.length); let longest = s1 + s2; for (let i = 0 ; i < s1.length + s2.length ; i++ ){ array[i] = longest[i]; } array = array.sort((a, b) => a.localeCompare(b)); array = keepFirstLetter(array); array = array.join("") return array; } function keepFirstLetter(array){ let arrayFixed = new Array(array.length); let counter = 0; arrayFixed[0] = array[0]; for (let i = 0 ; i < array.length ; i++ ){ if (arrayFixed[counter] != array[i]){ counter++; arrayFixed[counter] = array[i]; } } return arrayFixed; }
Ce n'est certainement PAS performant. Je n'aime pas cette deuxième boucle. Et ce n'est pas si propre non plus. Un jour, je devrai revoir celui-ci.
Portez-vous bien. Boire de l'eau ???.
Précédent
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!