এই টিউটোরিয়ালে, আমরা ন্যূনতম পরিবর্তন সহ কঠোরভাবে বর্ধিত পূর্ণসংখ্যা অ্যারেতে রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এর জন্য আমাদের একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল অ্যারের উপাদানগুলিকে ন্যূনতম সংখ্যক পরিবর্তনের মাধ্যমে কঠোরভাবে ক্রমবর্ধমান ক্রমে পরিবর্তন করা৷
উদাহরণ
#include <bits/stdc++.h> using namespace std; //calculating number of changes required int remove_min(int arr[], int n){ int LIS[n], len = 0; for (int i = 0; i < n; i++) LIS[i] = 1; for (int i = 1; i < n; i++) { for (int j = 0; j < i; j++) { if (arr[i] > arr[j] && (i-j)<=(arr[i]-arr[j])){ LIS[i] = max(LIS[i], LIS[j] + 1); } } len = max(len, LIS[i]); } //returning the changes required return n - len; } int main(){ int arr[] = { 1, 2, 6, 5, 4 }; int n = sizeof(arr) / sizeof(arr[0]); cout << remove_min(arr, n); return 0; }
আউটপুট
2