কম্পিউটার

C# ব্যবহার করে বটম-আপ অ্যাপ্রোচ ব্যবহার করে ন্যূনতম ধাপ কীভাবে বাস্তবায়ন করবেন?


MinimumStepstoOneBottomdownApproacht পূর্ণসংখ্যা n ইনপুট হিসাবে নেয়। প্যারামিটার n এ উপাদানের মোট সংখ্যা রয়েছে। প্রাথমিক অবস্থা n 1 এর সমান কিনা তা পরীক্ষা করে। যদি n 1 এর সমান হয় তবে 0 ফেরত দিন। op1, op2 এবং op3 সর্বোচ্চ মান শুরু করুন। যদি n mod 3 0 এর সমান হয় তবে MinimumStepstoOneBottomdownApproach কে বারবার কল করুন এবং op1 এ বরাদ্দ করুন, যদি n mod 3 0 এর সমান হয় তাহলে ন্যূনতমStepstoOneBottomdownApproach কে পুনরাবৃত্তভাবে কল করুন এবং op2 এ বরাদ্দ করুন অন্যথায় 1 দ্বারা n বিয়োগ করুন এবং MinimumStepstoOneBottomdownA এ কল করুন। অবশেষে dp অ্যারে

থেকে মান ফেরত দিন

সময়ের জটিলতা − O(N)

স্পেস জটিলতা − O(N)

উদাহরণ

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 কিভাবে বাস্তবায়ন করবেন?

  2. জাভা 9 এ JShell ব্যবহার করে একটি ArrayList কিভাবে বাস্তবায়ন করবেন?

  3. জাভাতে Gson ব্যবহার করে কাস্টম ফিল্ডনামিং কৌশল কীভাবে বাস্তবায়ন করবেন?

  4. কিভাবে আমরা জাভাতে স্ট্যাক ব্যবহার করে একটি সারি বাস্তবায়ন করতে পারি?