Bonjour les amis ! Cette fois, je veux parler du défi Least Larger de CodeWars. Ce défi est vraiment passionnant car il entraîne la logique et la pensée systématique, tout en donnant une idée de la façon dont ce concept peut être utile dans le monde réel. Allez, discutons-en ensemble !
Ainsi, on nous donne un tableau de nombres et un certain index. Notre tâche est de trouver le plus petit nombre supérieur à l'élément à cet index, puis de renvoyer l'index. S'il n'y a pas de numéros correspondants, nous devons renvoyer -1.
Exemple :
Tableau : [4, 1, 3, 5, 6]
Indice : 0 (le numéro de référence est 4)
Le résultat est 3, car le plus petit nombre supérieur à 4 est 5, qui est à l'indice 3.
pourquoi peut-il être 3 ?
Le tableau commence à 0
donc :
4 : indice 0
1 : indice 1
3 : indice 2
5 : indice 3
6 : indice 4
Pour résoudre ce défi, j'ai créé une fonction appelée lessLarger. Voici le code :
function leastLarger(a, i) { let smaller = Infinity; // Nilai pembanding awal let result = -1; // Default hasil kalau nggak ada elemen yang memenuhi for (let index = 0; index < a.length; index++) { if (a[index] > a[i] && a[index] < smaller) { smaller = a[index]; // Update nilai terkecil yang lebih besar result = index; // Simpan indeks elemen } } return result; // Kembalikan hasil }
Initialisation
Itération du tableau
Résultats de retour
console.log(leastLarger([4, 1, 3, 5, 6], 0)); // Output: 3
Explication :
Pour ceux d'entre vous qui aiment une approche plus « JavaScript uniquement », nous pouvons écrire cette solution sur une seule ligne de code en utilisant des méthodes intégrées telles que filter, Math.min et findIndex :
function leastLarger(a, i) { let smaller = Infinity; // Nilai pembanding awal let result = -1; // Default hasil kalau nggak ada elemen yang memenuhi for (let index = 0; index < a.length; index++) { if (a[index] > a[i] && a[index] < smaller) { smaller = a[index]; // Update nilai terkecil yang lebih besar result = index; // Simpan indeks elemen } } return result; // Kembalikan hasil }
Ce code fait la même chose, mais dans un style plus fonctionnel et concis. Idéal pour les situations où vous souhaitez écrire une solution rapide sans trop de variables supplémentaires.
Une fonction comme celle-ci est en fait tout à fait pertinente dans diverses situations réelles. Quelques exemples :
Système de réservation de billets
Planification des tâches
Gestion des stocks
Ce défi semble simple, mais lorsque je l'ai essayé, j'ai réalisé qu'une logique soignée est très importante. Ce que j'aime dans ce défi, c'est la pertinence de ce concept à appliquer dans le monde réel.
Oh oui, si des amis ont d'autres façons de réaliser ce défi, n'hésitez pas à les partager dans la colonne des commentaires, OK ! Qui sait, nous pourrions apprendre des différentes approches de chacun. J'espère que ce partage sera utile et bon codage ! ?
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!