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

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


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

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

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

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