কম্পিউটার টিউটোরিয়াল

C#-তে টপ-ডাউন অপ্রোচ দিয়ে वन পর্যন্ত ন্যূনতম স্টেপ বের করুন


MinimumStepstoOneTopdownApproach ইনপুট হিসেবে ইন্টিজার n এবং একটি ইন্টিজার অ্যারে নেয়। প্যারামিটার n এলিমেন্টের মোট সংখ্যা ধারণ করে। প্রাথমিক শর্ত চেক করে n কি 1-এর সমান। যদি n 1-এর সমান হয় তবে 0 রিটার্ন করুন। op1, op2 এবং op3 কে ম্যাক্স ভ্যালুতে ইনিশিয়ালাইজ করুন। যদি n mod 3 শূন্য হয়, তবে MinimumStepstoOneTopdownApproach রিকারসিভলি কল করে op1-এ অ্যাসাইন করুন, যদি n mod 2 শূন্য হয়, তবে MinimumStepstoOneTopdownApproach রিকারসিভলি কল করে op2-এ অ্যাসাইন করুন অন্যথায় n-এ ১ বিয়োগ করে 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. জাভা ৯-এ JavaFX ব্যবহার করে JShell ইমপ্লিমেন্ট করার পদ্ধতি

  2. জাভা ৯-এ JShell-এ ArrayList কীভাবে ইমপ্লিমেন্ট করবেন?

  3. Gson-এ কাস্টম FieldNamingStrategy ইমপ্লিমেন্টেশন

  4. জাভাতে Stack ব্যবহার করে Queue বাস্তবায়ন করা