ধরুন আমাদের পূর্ণসংখ্যার একটি অ্যারে আছে; আমাদের দীর্ঘতম ক্রমাগত ক্রমবর্ধমান সাবয়ারের দৈর্ঘ্য খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি [2,4,6,5,8] এর মত হয়, তাহলে আউটপুট হবে 3। যেহেতু দীর্ঘতম ক্রমাগত ক্রমবর্ধমান অনুক্রম হল [2,4,6] এবং এর দৈর্ঘ্য হল 3।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি সংখ্যার আকার <=1 হয়, তাহলে −
- সংখ্যার রিটার্ন সাইজ
- উত্তর :=১, গণনা :=১
- আরম্ভ করার জন্য i :=0, যখন i <সংখ্যার আকার, আপডেট করুন (i 1 দ্বারা বৃদ্ধি করুন), করুন −
- যদি সংখ্যা[i]
- (গণনা 1 দ্বারা বৃদ্ধি করুন)
- উত্তর :=সর্বোচ্চ উত্তর এবং গণনা
- যদি সংখ্যা[i]
- অন্যথায়
- গণনা :=1
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
if (nums.size() <= 1)
return nums.size();
int answer = 1, count = 1;
for (int i = 0; i < nums.size() - 1; i++) {
if (nums[i] < nums[i + 1]) {
count++;
answer = max(answer, count);
}
else {
count = 1;
}
}
return answer;
}
};
main(){
Solution ob;
vector<int> v = {2,4,6,5,8};
cout << (ob.findLengthOfLCIS(v));
} ইনপুট
{2,4,6,5,8} আউটপুট
3