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

C# में टॉप-डाउन दृष्टिकोण का उपयोग करके एक तक न्यूनतम चरण कैसे लागू करें?


MinimumStepstoOneTopdownApproach पूर्णांक n और एक पूर्णांक ऐरे को इनपुट के रूप में लेता है। पैरामीटर n में तत्वों की कुल संख्या होती है। प्रारंभिक स्थिति जांचती है कि क्या n 1 के बराबर है। यदि n 1 के बराबर है तो 0 लौटाएं। op1, op2 और op3 को अधिकतम मान पर आरंभ करें। यदि n mod 3 0 के बराबर है तो MinimumStepstoOneTopdownApproach को पुनरावर्ती रूप से कॉल करें और इसे op1 को असाइन करें, यदि n mod 2 0 के बराबर है तो MinimumStepstoOneTopdownApproach को पुनरावर्ती रूप से कॉल करें और इसे op2 को असाइन करें अन्यथा n से 1 घटाएं और MinimumStepstoOneTopdownApproach को कॉल करें। अंत में तीन तत्वों के न्यूनतम की गणना के लिए Math.Min को कॉल करें और dp ऐरे से मान लौटाएं।

समय जटिलता − O(N)

स्पेस जटिलता − O(N)

उदाहरण

public class DynamicProgramming{    public int MinimumStepstoOneTopdownApproach(int n, int[] dp){       if (n == 1){          return 0;       }       int op1, op2, op3;       op1 = int.MaxValue; op2 = int.MaxValue; op3 = int.MaxValue;       if (n % 3 == 0){          op1 = MinimumStepstoOneTopdownApproach(n / 3, dp);       }       if (n % 2 == 0){          op2 = MinimumStepstoOneTopdownApproach(n / 2, dp);       }       op3 = MinimumStepstoOneTopdownApproach(n -1, dp);       int ans = Math.Min(Math.Min(op1, op2), op3)+1;       return dp[n] = ans;    } } static void Main(string[] args){    DynamicProgramming dp = new DynamicProgramming();    int[] dpArr = new int[150];    Console.WriteLine(dp.MinimumStepstoOneTopdownApproach(10, dpArr)); }

आउटपुट

3
  1. Java 9 में JavaFX का उपयोग करके JShell को प्रोग्रामेटिक रूप से लागू करें Java 9 में JavaFX का उपयोग करके JShell को प्रोग्रामेटिक रूप से लागू करें

    Java 9 ने jdk.jshell API पेश किया जो डेवलपर्स को अपने एप्लिकेशन में JShell कार्यक्षमता को एम्बेड करने की अनुमति देता है। यह लेख दिखाता है कि एक JavaFX एप्लिकेशन कैसे बनाया जाए जो JShell का उपयोग करके कोड स्निपेट्स का मूल्यांकन करता है और परिणाम प्रदर्शित करता है। आवश्यक निर्भरताएं Java 9+ (JSh

  1. - Java में Gson का उपयोग करके कस्टम FieldNamingStrategy कैसे लागू करें

    FieldNamingStrategy Gson में कस्टम फील्ड नामकरण प्रदान करने का एक तंत्र है। यह क्लाइंट कोड को फील्ड नामों को एक विशेष कन्वेंशन में अनुवाद करने की अनुमति देता है जो सामान्य Java फील्ड घोषणा नियमों द्वारा समर्थित नहीं है। translateName() मेथड प्रत्येक फील्ड नाम को स्ट्रिंग pre_ से प्रीफिक्स करेगा।नीचे

  1. - जावा में Stack का उपयोग करके Queue कैसे लागू करें?

    Queue क्लास Collection इंटरफेस को एक्सटेंड करती है और फर्स्ट-इन-फर्स्ट-आउट (FIFO) का उपयोग करके इन्सर्ट और रिमूव ऑपरेशन्स का समर्थन करती है। Stack Vector क्लास का एक सबक्लास है और यह ऑब्जेक्ट्स के लास्ट-इन-फर्स्ट-आउट (LIFO) स्टैक को दर्शाता है। स्टैक के शीर्ष पर जोड़ा गया अंतिम एलिमेंट (In) स्टैक स