Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # का उपयोग करके टॉपडाउन दृष्टिकोण का उपयोग करके सिक्का परिवर्तन समस्या को कैसे कार्यान्वित करें?


CoinChangeTopDownApproach 4 पैरामीटर लेता है, n राशि है, सिक्के सरणी में वे सिक्के हैं जिनसे राशि की गणना की जानी है, t सिक्कों की कुल संख्या है, dp सरणी सभी पूर्व परिकलित मान। यदि राशि 0 है तो 0 लौटाएं। यदि मान पहले से ही गणना की गई है तो डीपी सरणी से वापस आएं। यदि मान की गणना नहीं की जाती है तो CoinChangeTopDownApproach को पुनरावर्ती रूप से कॉल करें।

समय की जटिलता - ओ(एन)

अंतरिक्ष जटिलता - ओ(एन)

उदाहरण

public class DynamicProgramming{
   public int CoinChangeTopDownApproach(int n,int[] coins,int t,int[] dp){
      if (n == 0){
         return 0;
      }
      if (dp[n] != 0){
         return dp[n];
      }
      int ans = int.MaxValue;
      for (int i = 0; i < t; i++){
         if (n - coins[i] >= 0){
            int subprob = CoinChangeTopDownApproach(n - coins[i], coins, t, dp);
            ans = Math.Min(ans, subprob + 1);
      }
   }
   dp[n] = ans;
   return dp[n];
   }
}

static void Main(string[] args){
   DynamicProgramming dp = new DynamicProgramming();
   int N = 15;
   int[] coins = { 1, 7, 10 };
   int[] dp1 = new int[100];
   int t = coins.Count();
   int res = dp.CoinChangeTopDownApproach(15, coins, t, dp1);
   Console.WriteLine(res);
}

आउटपुट

3

  1. C++ का उपयोग करके OpenCV में कंट्रास्ट कैसे बदलें?

    इमेज प्रोसेसिंग में ब्राइटनेस और कंट्रास्ट बदलना बार-बार एडिटिंग इफेक्ट होता है। यहां, हम सीखेंगे कि इमेज के कंट्रास्ट को कैसे बदला जाए। कंट्रास्ट छवि के तीखेपन को नियंत्रित करता है। कंट्रास्ट जितना ऊंचा होगा, इमेज उतनी ही शार्प होगी, कंट्रास्ट कम होगा, इमेज खराब होगी। कंट्रास्ट बदलने का मतलब है पि

  1. मैं नए का उपयोग करके C++ में 2d सरणी कैसे घोषित करूं?

    एक गतिशील 2D सरणी मूल रूप से सरणियों के लिए पॉइंटर्स की एक सरणी है। यहाँ एक 2D सरणी का आरेख है जिसका आयाम 3 x 4 है। एल्गोरिदम Begin    Declare dimension of the array.    Dynamic allocate 2D array a[][] using new.    Fill the array with the elements.    Print

  1. जावा 9 में JavaFX का उपयोग करके JShell को कैसे कार्यान्वित करें?

    जेशेल नमूना अभिव्यक्तियों को लागू करने के लिए उपयोग किया जाने वाला एक इंटरैक्टिव टूल है। हम JavaFX . का उपयोग करके JShell को प्रोग्रामेटिक रूप से कार्यान्वित कर सकते हैं एप्लिकेशन तो हमें नीचे सूचीबद्ध जावा प्रोग्राम में कुछ पैकेज आयात करने की आवश्यकता है jdk.jshell.JShell आयात करें; jdk.jshell.Sn