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

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


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

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

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

उदाहरण

public class DynamicProgramming{
   public int MinimumStepstoOneBottomdownApproach(int n){
      int[] dp = new int[100];
      dp[1] = 0;
      for (int i = 2; i < n; i++){
         int op1 = int.MaxValue, op2 = int.MaxValue, op3 = int.MaxValue;
         if (n % 3 == 0){
            op1 = dp[i / 3];
         }
         if (n % 2 == 0){
            op2 = dp[i / 2];
         }
         op3= dp[i -1];
         dp[i]= Math.Min(Math.Min(op1, op2), op3) + 1;
      }
      return dp[n-1];
   }
}

static void Main(string[] args){
   DynamicProgramming dp = new DynamicProgramming();
   Console.WriteLine(dp.MinimumStepstoOneBottomdownApproach(10))
}

आउटपुट

3

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

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

  1. जावा में जीसन का उपयोग करके कस्टम फील्डनामिंगस्ट्रेटी को कैसे कार्यान्वित करें?

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

  1. हम जावा में स्टैक का उपयोग करके एक कतार को कैसे लागू कर सकते हैं?

    एक कतार वर्ग संग्रह का विस्तार करता है इंटरफ़ेस और यह सम्मिलित करने का समर्थन करता है और फर्स्ट-इन-फर्स्ट-आउट (FIFO) का उपयोग करके संचालन को हटाता है . एक ढेर वेक्टर . का उपवर्ग है वर्ग और यह लास्ट-इन-फर्स्ट-आउट (LIFO) . का प्रतिनिधित्व करता है वस्तुओं का ढेर। स्टैक के शीर्ष पर जोड़ा गया अंतिम त