কম্পিউটার

দীর্ঘতম ক্রমবর্ধমান পরবর্তী সিকোয়েন্সের জন্য জাভা প্রোগ্রাম


দীর্ঘতম ক্রমবর্ধমান পরবর্তী −

-এর জন্য নিম্নোক্ত জাভা প্রোগ্রাম

উদাহরণ

public class Demo{
   static int incre_subseq(int my_arr[], int arr_len){
      int seq_arr[] = new int[arr_len];
      int i, j, max = 0;
      for (i = 0; i < arr_len; i++)
         seq_arr[i] = 1;
      for (i = 1; i < arr_len; i++)
      for (j = 0; j < i; j++)
      if (my_arr[i] > my_arr[j] && seq_arr[i] < seq_arr[j] + 1)
      seq_arr[i] = seq_arr[j] + 1;
      for (i = 0; i < arr_len; i++)
      if (max < seq_arr[i])
      max = seq_arr[i];
      return max;
   }
   public static void main(String args[]){
      int my_arr[] = { 10, 22, 9, 33, 21, 50, 41, 60 };
      int arr_len = my_arr.length;
      System.out.println("The length of the longest increasing subsequence is " +  incre_subseq(my_arr, arr_len));
   }
}

আউটপুট

The length of the longest increasing subsequence is 5

ডেমো নামের একটি ক্লাসে 'incre_subseq' নামে একটি স্ট্যাটিক ফাংশন রয়েছে যা অ্যারে এবং অ্যারের দৈর্ঘ্যকে প্যারামিটার হিসেবে নেয়। এই ফাংশনের ভিতরে, একটি নতুন অ্যারে তৈরি করা হয়েছে যা খালি। একটি 'সর্বোচ্চ' ভেরিয়েবলের মান 0 বরাদ্দ করা হয়। একটি 'ফর' লুপ অ্যারের দৈর্ঘ্যের উপর পুনরাবৃত্তি করে এবং প্রতিটি উপাদান 1 এ আরম্ভ করা হয়।

আবার, 'ফর' লুপটি পুনরাবৃত্তি করা হয়, এবং আরেকটি 'ফর' লুপ চালু করা হয় যা পরীক্ষা করে যে অ্যারের প্রথম উপাদানটি দ্বিতীয় উপাদানের সমান এবং অ্যারের (seq_arr, যার সমস্ত 1s আরম্ভ করা হয়েছে) প্রথম উপাদানটির চেয়ে কম আছে কিনা। দ্বিতীয় উপাদান + 1. seq_arr-এ সর্বাধিক উপাদান পাওয়া যায় এবং ফেরত দেওয়া হয়। এটি একটি গতিশীল প্রোগ্রামিং কৌশল যেখানে একটি মান গণনা করা হয় এবং একটি অ্যারেতে সংরক্ষণ করা হয়, এটি পুনরাবৃত্তির মতো বারবার গণনা করার প্রয়োজনকে সরিয়ে দেয়। যখনই একটি পূর্বে গণনা করা উপাদান প্রয়োজন হয়, এটি অ্যারে থেকে আনা হয়৷


  1. দীর্ঘতম ক্রমবর্ধমান অনুবর্তী

  2. অ্যারের পণ্যের জন্য সি প্রোগ্রাম

  3. সি প্রোগ্রাম ফর প্রোগ্রাম ফর অ্যারে রোটেশন?

  4. অ্যারে রোটেশনের জন্য পাইথন প্রোগ্রাম