Pythonでのコインの変更
これを解決するには、次の手順に従います-
- 金額=0の場合、0を返します
- コイン配列の最小量>の場合、-1を返します
- サイズが+1のdpという1つの配列を定義し、これに-1を入力します
- for i in range coins array
- i> dp – 1の長さの場合、次の部分をスキップして、次の反復に進みます
- dp [i]:=1
- 範囲i+1から量のjの場合
- dp [j – 1] =-1の場合、次の部分をスキップして、次の反復に進みます
- それ以外の場合、dp [j] =-1の場合、dp [j]:=dp [j --i] + 1
- それ以外の場合、dp [j]:=最小のdp[j]およびdp[j – i] + 1
- return dp [amount]
例
理解を深めるために、次の実装を見てみましょう-
class Solution(object): def coinChange(self, coins, amount): if amount == 0 : return 0 if min(coins) > amount: return -1 dp = [-1 for i in range(0, amount + 1)] for i in coins: if i > len(dp) - 1: continue dp[i] = 1 for j in range(i + 1, amount + 1): if dp[j - i] == -1: continue elif dp[j] == -1: dp[j] = dp[j - i] + 1 else: dp[j] = min(dp[j], dp[j - i] + 1) #print(dp) return dp[amount] ob1 = Solution() print(ob1.coinChange([1,2,5], 11))
入力
[1,2,5] 11
出力
3
-
matplotlib(python)でフォントを変更するにはどうすればよいですか?
plt.text()メソッドを使用して、フォントサイズを大きくすることができます。 ステップ plt.plot()メソッドを使用して、引数で渡される2つのリストを含む行を作成できます。 軸にテキストを追加します。 plt.text()メソッドを使用して、データ座標の位置* x *、*y*の軸にテキスト*s*を追加します。フォントサイズは、font-size値を変更することでカスタマイズできます。 図を表示するには、plt.show()メソッドを使用します。 例 import matplotlib.pyplot as plt plt.plot([1, 2, 4], [1,
-
コイン交換のためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 − N枚のコインが与えられ、Sに各値が無限に供給されるように、それらのコインを変更したいと考えています。順序に関係なく、変更できる方法がいくつあるかを表示する必要があります。 動的計画法の概念を使用して問題ステートメントを解決し、時間の複雑さを軽減します。 次に、以下の実装のソリューションを見てみましょう- 例 # dynamic approach def count(S, m, n): # base case table = [[0 for x in