C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#を使用したボトムアップアプローチを使用してコイン交換問題を実装するにはどうすればよいですか?


CoinChangeBottomUpApproachは、入力nが金額、coins配列にコインの総数、tにコインの総数が含まれるため、3つのパラメーターを取ります。以前に計算された値を格納する動的配列を宣言します。配列をループして、金額を計算するために必要な最小コインを計算します。計算がすでに行われている場合は、動的配列から値を取得します。

時間計算量- O(N)

スペースの複雑さ- O(N)

public class DynamicProgramming{
   public int CoinChangeBottomUpApproach(int n,int[] coins,int t){
      int[] dp = new int[100];
      for (int i = 1; i < n; i++){
         dp[i] = int.MaxValue;
         for (int j = 0; j < t; j++){
            if (i - coins[j] >= 0){
               int subProb = dp[i - coins[j]];
               dp[i] = Math.Min(dp[i], subProb + 1);
            }
         }
      }
      return dp[n]+1;
   }
}

static void Main(string[] args){
   DynamicProgramming dp = new DynamicProgramming();
   int[] coins = { 1, 7, 10 };
   int ss = dp.CoinChangeBottomUpApproach(15, coins, coins.Count());
   Console.WriteLine(ss);
}

出力

3

  1. C ++を使用してOpenCVのコントラストを変更するにはどうすればよいですか?

    明るさやコントラストの変更は、画像処理で頻繁に編集される効果です。ここでは、画像のコントラストを変更する方法を学習します。コントラストは、画像の鮮明さを制御します。コントラストが高いほど画像が鮮明になり、コントラストが低くなると画像が窒息します。 コントラストを変更すると、ピクセルの重みが大きくなります。コントラストが高いほど、画像は鮮明になります。コントラストを変更するには、ピクセル値に定数を掛けます。たとえば、画像のすべてのピクセル値に2を掛けると、ピクセルの値が2倍になり、画像がより鮮明になります。 次のプログラムは、OpenCVで画像のコントラストを変更する方法を示しています。 例

  2. Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?

    JShell サンプル式を実装するために使用されるインタラクティブなツールです。 JavaFXを使用してプログラムでJShellを実装できます アプリケーションの場合、以下にリストされているJavaプログラムにいくつかのパッケージをインポートする必要があります import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet; 以下の例では、サンプルのJavaFXアプリケーションを実装しました。 テキストフィールドにさまざまな値を入力します 「評価」を押します 「」ボタン。対応する