এই টিউটোরিয়ালে, আমরা ন্যূনতম পরিবর্তন সহ কঠোরভাবে বর্ধিত পূর্ণসংখ্যা অ্যারেতে রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এর জন্য আমাদের একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল অ্যারের উপাদানগুলিকে ন্যূনতম সংখ্যক পরিবর্তনের মাধ্যমে কঠোরভাবে ক্রমবর্ধমান ক্রমে পরিবর্তন করা৷
উদাহরণ
#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