明確な説明と実用的な例を使用して、Pythonでのメモを使用して「コイン変更問題」を効率的に解決する方法を学びます。 ---このビデオは、質問に基づいていますhttps://stackoverflow.com/q/6392253/ユーザー「Shubhamprashar」(https://stackoverflow.com/u/1430456/)から尋ねられ、回答https://stackoverflow.com/a/6399950/を提供するhttps://stackoverflow.com/u/3080723/)at 'stack overflow' webサイト。これらの優れたユーザーとstackexchangeコミュニティの貢献に感謝します。 Visit these links for original content and any more details, such as alternate solutions, latest updates/developments on topic, comments, revision history etc. For example, the original title of the Question was: Coin Change problem using Memoization (Amazon interview question) Also, Content (except music) licensed under CC BY-SA https://meta.stackexchange.com/help/licensing The original Question post is licensed under the 'CC BY-SA 4.0 '(https://creativecommons.org/licenses/by-sa/4.0/)ライセンス、および元の回答投稿は、' cc by-sa 4.0 '(https://creativecommons.org/licenses/by-sa/4.0/)ライセンスの下でライセンスされています。何かがあなたに見える場合は、vlogize [at] gmail [dot] comでお気軽に私を書いてください。 ---コイン変更問題に取り組むメモを使用して、コインの変更問題は、Amazonが実施したものなどのコーディングインタビューによく表示される古典的な課題です。そのコアでは、この問題では、指定されたコイン宗派のセットを使用して、特定のターゲット量を構成するために必要なコインの最小数を決定する必要があります。この問題は、特に最も効率的なソリューションを見つけようとしている場合に複雑になる可能性があります。この投稿では、メモを使用してこの問題に対する効果的なアプローチを検討します。これは、冗長な計算を回避するのに役立つ手法です。ターゲットの量とコイン宗派のリストが与えられた問題の声明では、そのターゲットを達成するために必要なコインの最小数を見つける必要があります。たとえば、ターゲットが74で、宗派1、5、10、および25のコインがある場合、組み合わせて合計額に達することができる最も少ないコインを発見したいと思います。メモ化ソリューションメモを使用してコイン変更問題を解決する喜びは、その効率にあります。標準的な再帰的アプローチは、広範な再計算につながる可能性があり、プログラムを遅くすることができます。問題のメモを採用する関数は次のとおりです。既知の結果:Zerosに初期化された配列。これは、以前に計算された結果を保持します。これは、メモが機能するために重要です。関数を呼び出す方法は次のとおりです。なぜ既知のターゲット + 1のゼロを使用して既知の_resultsを初期化するのか疑問に思うかもしれません。なぜ空のリストから始めないのですか?空のリストを使用すると、アルゴリズムが存在しないインデックスにアクセスしようとするとエラーが発生します。Necking_Results= []を使用すると、0からターゲットまでインデックスにアクセスできません。たとえば、[3] = 1を試すと、インデックスエラーが投げられます。 incound_results = [0] *(ターゲット + 1)を使用すると、必要なサイズを事前に定義するリストを作成しています。これにより、すべてのインデックスがアクセスできるようになり、結果の処理におけるランタイムエラーと不必要な複雑さが回避されます。結論既知の_Resultsの適切なサイズの配列から始まると、エラーを防ぐだけでなく、アルゴリズムのパフォーマンスが向上します。コイン変更問題のメモを使用すると、結果がキャッシュされることで計算時間が大幅に短縮され、必要に応じて迅速にアクセスできます。要約すると、メモ化はコイン変更問題のコーディングと実行の側面を簡素化し、希望するソリューションを実現する非常に効率的な方法になります。ハッピーコーディング!