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.
Pour ce prochain exercice, nous avons un tableau ordonné et ascendant de lettres, mais quelque part au milieu, il manque une lettre :
['a','b','c','d','f']
['O','Q','R','S']
Tout d'abord, nous devons savoir que les lettres ont une valeur numérique correspondante en Unicode. Nous avons donc besoin de fonctions capables de transformer des lettres en chiffres et vice versa.
Essayons quelques fonctions JS pour voir ce qu'elles font :
function findMissingLetter(array) { return [array[3].charCodeAt(),array[4].charCodeAt()]; } // the array is ['a','b','c','d','f'] // it expects 'e' // this function returns [ 100, 102 ]
Nous avons notre première pièce importante du puzzle. Nous devons maintenant créer une solution autour de ce problème. Pour ce faire, nous pourrions utiliser quelque chose pour parcourir le tableau, à la recherche de l'anomalie :
let counter = 0; while (array[counter].charCodeAt() + 1 == array[counter + 1].charCodeAt() && counter < array.length) { counter++; }
Ensuite, nous devons trouver la véritable lettre manquante :
let letter = String.fromCharCode(array[counter].charCodeAt() + 1)
Assemblez le tout :
function findMissingLetter(array) { let counter = 0; while (array[counter].charCodeAt() + 1 == array[counter + 1].charCodeAt() && counter < array.length) { counter++; } let letter = String.fromCharCode(array[counter].charCodeAt() + 1) return letter; }
Étonnamment lisible. Je pense que ça va. Il doit y avoir un moyen de l'optimiser, mais je ne vois pas encore comment.
Prends soin de toi. 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!