Giả sử chúng ta có một mảng các số nguyên; chúng ta phải tìm độ dài của mảng con tăng liên tục dài nhất.
Vì vậy, nếu đầu vào giống như [2,4,6,5,8], thì đầu ra sẽ là 3. Vì dãy con tăng liên tục dài nhất là [2,4,6] và độ dài của nó là 3.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nếu kích thước của nums <=1, thì -
- trả về kích thước của nums
- answer:=1, count:=1
- để khởi tạo i:=0, khi tôi
- nếu nums [i]
- (tăng số lượng lên 1)
- answer:=tối đa câu trả lời và số lượng
- nếu nums [i]
- số lượng:=1
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
#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));
} Đầu vào
{2,4,6,5,8} Đầu ra
3