Nhập vào một mảng,thực hiện hai yêu cầu sau: (code c++ hai bài tách ra nhé) in ra đoạn con liên tiếp mà các phần tử giống nhau,ví dụ: 4 2 3 3 1 in ra 3 3 in ra độ dài đoạn con liên tiếp mà các phần tử giống nhau: ví dụ 2 3 1 1 1 5 in ra 3 vì có 3 số là 1 1 1

1 câu trả lời

*Mình code trực tiếp nên hơi không đẹp tí :v

*Bài 1:

#include <bits/stdc++.h>
using namespace std;
long long n;
int main()
{
cin >> n;
long long a[n];
for (long long i=0; i<n; i++) cin >> a[i];
long long s[n];
s[0]=1;
for (long long i=1; i<n; i++)
{
if (a[i]==a[i-1]) s[i]=s[i-1]+1;
else s[i]=1;
}
long long max=s[0];
long long vt=0;
for (long long i=1; i<n; i++)
{
if (s[i]>max) {max=s[i]; vt=i;}
}
for (long long i=vt-max+1; i<=vt; i++) cout << a[i] << " ";
}

*Bài 2:

#include <bits/stdc++.h>
using namespace std;
long long n;
int main()
{
cin >> n;
long long a[n];
for (long long i=0; i<n; i++) cin >> a[i];
long long s[n];
s[0]=1;
for (long long i=1; i<n; i++)
{
if (a[i]==a[i-1]) s[i]=s[i-1]+1;
else s[i]=1;
}
long long max=s[0];
long long vt=0;
for (long long i=1; i<n; i++)
{
if (s[i]>max) max=s[i];
}
cout << max;
}