একটি পূর্ণসংখ্যার অ্যারে দেওয়া আছে। আমাদের সর্বোচ্চ দৈর্ঘ্যের সুনির্দিষ্ট বর্ধমান সাবঅ্যারে (continuous increasing subarray) বের করতে হবে।
ইনপুট [2,4,6,5,8] হলে আউটপুট ৩। কারণ সর্বোচ্চ সুনির্দিষ্ট বর্ধমান সাবসিকোয়েন্স [2,4,6], দৈর্ঘ্য ৩।
সমাধানের ধাপসমূহ
- যদি nums.size() <= 1 হয়, nums.size() রিটার্ন করুন
- answer := 1, count := 1
- প্রতিটি i এর জন্য:
- যদি nums[i] < nums[i+1] হয়, count++, answer := max(answer, count)
- অন্যথায় count := 1
- answer রিটার্ন করুন
উদাহরণ
#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;
}
};
int main(){
Solution ob;
vector<int> v = {2,4,6,5,8};
cout << (ob.findLengthOfLCIS(v));
}ইনপুট
{2,4,6,5,8}আউটপুট
3