"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Déficption de défi Codewars: le moins plus grand, de base à avancé

Déficption de défi Codewars: le moins plus grand, de base à avancé

Publié le 2025-05-03
Parcourir:217

Sharing Solusi Tantangan CodeWars: Least Larger, dari Dasar hingga aris

Apprenez des défis de codewars: le moins grand

Bonjour les amis! Cette fois, je veux partager les défis les moins importants de Codewars. Ce défi est très excitant en raison de la formation de la logique et des modes de pensée systématiques, tout en fournissant une idée de la façon dont ce concept peut être utile dans le monde réel. Allez, nous discutons ensemble!


Quel est le défi?

Donc, on nous donne un tableau numérique et un index particulier. Notre tâche consiste à rechercher le plus petit nombre qui est plus grand des éléments de l'index, puis renvoie l'index . S'il n'y a pas de chiffres qui se rencontrent, nous devons retourner -1.

Exemple:

array: [4, 1, 3, 5, 6]

Index: 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, ce qui est dans l'index 3.
Pourquoi 3?
Le tableau commence à partir de 0
Donc :
4: index 0
1: index 1
3: index 2
5: index 3
6: index 4


La solution que j'ai faite

Pour terminer ce défi, j'ai fait une fonction appelée le moins le moins. Ce qui suit est 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[i] && a[index] 





Comment ça marche?

  1. Initialisation initiale

    • J'ai défini le plus petit sur Infinity comme valeur initiale pour la comparaison.
    • Le résultat a été fixé en 1ère au cas où aucun élément ne se réunissait.
    • Je vérifie chaque élément du tableau.
    • Il y a deux conditions qui doivent être remplies:
      1. L'élément est supérieur à l'élément de référence (a [i]).
      2. L'élément est plus petit que la comparaison précédente (plus petite).
    • Si les deux conditions sont remplies, je met à jour les plus petites et enregistre l'index d'élément dans le résultat.
  2. Renvoie les résultats

      S'il y a des éléments qui se rencontrent, la fonction de renvoyer l'index.
    • Si ce n'est pas le cas, les résultats sont toujours -1.

Exemples d'utilisation

console.log (le moins le carré ([4, 1, 3, 5, 6], 0)); // Sortie: 3
console.log(leastLarger([4, 1, 3, 5, 6], 0)); // Output: 3

Explication:

    L'élément de référence est 4 (dans l'index 0).
  • Les éléments supérieurs à 4 sont [5, 6].
  • D'après les éléments, le plus petit est 5, et sa position est dans l'index 3.

Solution avancée: concise en 1 ligne

Pour ceux d'entre vous qui aiment l'approche de la plus "vraiment javascript", nous pouvons écrire cette solution dans une ligne de code en utilisant la méthode par défaut telle que Filter, Math.Min et FindIndex:


const les moindres = (a, i) => a.findindex (x => x> a [i] && x === math.min (... a.filter (y => y> a [i]));
console.log(leastLarger([4, 1, 3, 5, 6], 0)); // Output: 3
Ce code fait la même chose, mais dans un style plus fonctionnel et concis. Convient aux situations où vous souhaitez écrire une solution rapide sans trop de variables supplémentaires.


Étude de cas dans le monde réel

Les fonctions comme celle-ci sont en fait assez pertinentes dans diverses situations réelles. Quelques exemples:

  1. Système de commande de billets

      Dans le système de billets, nous devons souvent trouver le prix le plus bas des sièges qui sont supérieurs à un certain prix (par exemple, pour remplir le siège suivant).
  2. planification des tâches

      Lors de la création d'un calendrier, nous pouvons rechercher la prochaine période la plus proche qui est supérieure à un certain temps, par exemple pour allouer une réunion de créneau ou la tâche suivante.
  3. Management des stocks

      Dans l'entrepôt, si vous avez besoin de trouver un emplacement de stockage avec la plus petite capacité qui est encore suffisant pour stocker certains articles.

Ce défi semble simple, mais quand j'essaie, je me rends compte que la logique soignée est très importante. Ce que j'aime dans ce défi, c'est à quel point ce concept doit être appliqué dans le monde réel.

Oh oui, si les amis ont d'autres moyens de relever ce défi, n'hésitez pas à partager dans la colonne des commentaires, oui! Qui sait, nous pouvons apprendre les uns des autres à partir de différentes approches. J'espère que ce partage est utile et un codage heureux! ?

Déclaration de sortie Cet article est reproduit à: https://dev.to/rantidhanty/sharing-solusi-antangan-codewars-least-larger-dari-dasar-hingga-1ris-4daf?1 s'il y a une violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3