ধরুন আমাদের কাছে সংখ্যার একটি ক্রম আছে তাকে পাটিগণিত বলা হয় যদি তাতে অন্তত তিনটি উপাদান থাকে এবং যদি দুটি পরপর উপাদানের মধ্যে পার্থক্য একই হয়। সুতরাং উদাহরণস্বরূপ, এগুলি হল গাণিতিক ক্রম:[1, 3, 5, 7, 9], [7, 7, 7, 7], [3, -1, -5, -9], কিন্তু নিম্নলিখিত ক্রমটি নয় পাটিগণিত [1, 1, 2, 5, 7]
এখন N সংখ্যার সমন্বয়ে একটি শূন্য-সূচীযুক্ত অ্যারে দেওয়া হয়েছে। প্রদত্ত অ্যারের একটি স্লাইস হল যেকোনো জোড়া পূর্ণসংখ্যার (P, Q) যেমন 0 <=P
সুতরাং ইনপুট যদি [1,2,3,4] এর মত হয়, তাহলে আউটপুট হবে 3, যেমন উপাদানগুলি [1,2,3], [2,3,4] এবং [1,2,3, 4]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
ret :=0, n :=A এর আকার, n আকারের একটি অ্যারে dp তৈরি করুন
2 থেকে n – 1
যদি a[i] – a[i – 1] =a[i – 1] – a[i – 2], তাহলে
dp[i] :=1 + dp[i - 1]
dp[i>
রিটার্ন রিটার্ন আসুন আরও ভালোভাবে বোঝার জন্য নিচের বাস্তবায়ন দেখি −
উদাহরণ (C++)
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int numberOfArithmeticSlices(vector<int>& A) {
int ret = 0;
int n = A.size();
vector <int> dp(n);
for(int i = 2; i < n; i++){
if(A[i] - A[i - 1] == A[i - 1] - A[i - 2]){
dp[i] = 1 + dp[i - 1];
ret += dp[i];
}
}
return ret;
}
};
main(){
Solution ob;
cout << (ob.removeKdigits("1432219", 3));
}
ইনপুট
"1432219"
3
আউটপুট
1219