इस ट्यूटोरियल में, हम न्यूनतम परिवर्तनों के साथ सख्ती से बढ़ते पूर्णांक सरणी में कनवर्ट करने के लिए एक प्रोग्राम पर चर्चा करेंगे।
इसके लिए हमें एक सरणी प्रदान की जाएगी। हमारा कार्य तत्वों में न्यूनतम संख्या में परिवर्तन करके सरणी के तत्वों को सख्ती से बढ़ते क्रम में बदलना है।
उदाहरण
#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