#include <iostream>
using namespace std;
void getLengthArr(int *arr, int n);
int main() {
int n;
cin >> n;
int arr[100000];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
getLengthArr(arr, n);
return 0;
}
void getLengthArr(int *arr, int n) {
int i, j;
int flag = 1;//标记位,用于比较最大的值
int temp = 1;//记录最长递增子序列的长度
int k = 0;
for (i = 0; i < n - 1; i++) {
if (arr[i] < arr[i + 1]) {
temp++;
} else {
temp = 1;//不满足条件就置为1
}
if(temp>flag) {
flag = temp;
k = i-flag+2;
}
}
//打印子序列
for (j = k; j < k + flag; j++) {
if(flag==1) cout<<arr[j];
else{
if(j<k+flag-1) cout<<arr[j]<<" ";
else cout<<arr[j];
}
}
}
PTA练习
于 2022-04-02 16:54:17 首次发布