Apprenez à résoudre efficacement le «problème de changement de pièce» en utilisant la mémorisation dans Python, avec des explications claires et des exemples pratiques. --- This video is based on the question https://stackoverflow.com/q/63992253/ asked by the user 'shubhamprashar' ( https://stackoverflow.com/u/14304456/ ) and on the answer https://stackoverflow.com/a/63993950/ provided by the user 'Stef' ( https://stackoverflow.com/u/3080723/) sur le site "Stack Overflow '. Merci à ces grands utilisateurs et à la communauté StacKExchange pour leurs contributions. Visitez ces liens pour le contenu original et tout plus de détails, tels que des solutions alternatives, les dernières mises à jour / développements sur le sujet, les commentaires, l'historique de révision, etc. Par exemple, le titre original de la question était: le problème de changement de monnaie en utilisant la mémoire (question de l'interview d'Amazon) également, le contenu (sauf la musique) sous licence CC By-SA https://meta.stackexchange.com/help/Licening 4.0 '(https://creativecommons.org/licenses/by-sa/4.0/), et le poste de réponse original est autorisé sous la licence' CC BY-SA 4.0 '(https://creativecommons.org/licenses/by-sa/4.0/). Si quelque chose vous semble, n'hésitez pas à m'écrire chez vlogize [at] gmail [dot] com. --- Tonder le problème du changement de pièce en utilisant la mémorisation Le problème de changement de pièce est un défi classique qui apparaît souvent dans les entretiens de codage, tels que ceux réalisés par Amazon. À la base, le problème vous oblige à déterminer le nombre minimum de pièces nécessaires pour compenser un montant cible donné en utilisant un ensemble spécifié de dénominations de pièces. Ce problème peut devenir complexe, surtout lorsque vous essayez de trouver la solution la plus efficace. Dans cet article, nous explorerons une approche efficace de ce problème en utilisant la mémorisation, une technique qui nous aide à éviter les calculs redondants. L'énoncé du problème étant donné un montant cible et une liste de dénominations de pièces, vous devez trouver le nombre minimum de pièces nécessaires pour atteindre cet objectif. Par exemple, si votre cible est de 74 et que vous avez des pièces de dénominations 1, 5, 10 et 25, vous souhaitez découvrir le moins de pièces que vous pouvez combiner pour atteindre le montant total. La solution de la mémorisation La joie de résoudre le problème du changement de pièce en utilisant la mémorisation réside dans son efficacité. L'approche récursive standard peut entraîner des recalculs approfondis, ce qui peut ralentir votre programme. Voici la fonction qui utilise la mémorisation pour notre problème: [[voir la vidéo pour révéler cet extrait de texte ou de code]] Configuration de vos paramètres pour exécuter avec succès cette fonction, vous devez d'abord initialiser les paramètres: Montant cible: le montant que vous souhaitez réaliser, par exemple, 74. COIN DÉMOMINATIONS: Une liste de pièces, comme [1, 5, 25]. Résultats connus: un tableau initialisé en zéros, qui contient des résultats précédemment calculés. Ceci est crucial pour que la mémorisation fonctionne. Voici comment vous appelleriez la fonction: [[voir la vidéo pour révéler cet extrait de texte ou de code]] Pourquoi initialiser connu_results avec zéros? Vous vous demandez peut-être pourquoi nous initialisons connu_results avec des zéros de la longueur Target + 1. Pourquoi ne pas simplement commencer par une liste vide? L'utilisation d'une liste vide entraînerait une erreur lorsque l'algorithme essaie d'accéder à un index qui n'existe pas: avec connu_results = [], vous ne pouvez accéder à aucun index de 0 à la cible. Par exemple, essayer un [3] = 1 jetterait une indexerror. Avec connu_results = [0] * (cible + 1), vous créez une liste qui prédéfinit la taille requise. Cela garantit que tous les indices sont accessibles, ce qui évite les erreurs d'exécution et la complexité inutile dans la gestion des résultats. La conclusion en commençant par un tableau de taille appropriée pour connu_results empêche non seulement les erreurs mais améliore les performances de votre algorithme. L'utilisation de la mémorisation du problème du changement de pièce réduit efficacement le temps de calcul en cache des résultats, permettant un accès rapide en cas de besoin. En résumé, la mémorisation simplifie l'aspect codage et d'exécution du problème de changement de pièce, ce qui en fait une méthode très efficace pour atteindre la solution souhaitée. Codage heureux!
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.