Chúng ta được cung cấp một mảng các số liên tiếp có độ dài n. Mảng chỉ có một số được lặp lại nhiều lần. Mục đích là lấy số lần phần tử đó được lặp lại trong mảng. Hoặc chúng ta có thể nói tìm độ dài của một phần tử lặp lại trong mảng.
Chúng ta sẽ duyệt qua mảng từ i =0 đến i
Hãy cùng hiểu với các ví dụ.
Đầu vào - arr [] ={0,1,2,3,3,3}, N =6
Đầu ra - Số phần tử lặp lại duy nhất - 3
Giải thích - 3 được lặp lại ba lần ở đây.
Đầu vào - arr [] ={1,2,3,4,4,4,4,4,5,6}, N =10
Đầu ra - Số phần tử lặp lại duy nhất - 5
Giải thích - 4 được lặp lại 5 lần ở đây.
Chúng tôi lấy một mảng số nguyên arr [] được khởi tạo với các số liên tiếp trong đó một số được lặp lại.
Biến len lưu trữ độ dài của mảng.
Hàm findRepeat (int arr [], int n) nhận một mảng và độ dài của nó làm đầu vào và hiển thị giá trị phần tử lặp lại và độ dài của các phần tử lặp lại.
Lấy số lượng ban đầu là 0.
Bắt đầu từ chỉ số i =0 đến i
Ở cuối vòng lặp, đếm số gia tăng 1 cho phần tử cuối cùng.
Phần tử hiển thị được lặp lại dưới dạng giá trị.
Hiển thị số lần lặp lại dưới dạng đếm.
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau - Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau
Ví dụ
#include <bits/stdc++.h>
using namespace std;
void findRepeat(int arr[],int n){
int count=0; //count of repeated element
int value=0; //to store repeated element
for(int i=0;i<n;i++){
if(arr[i]==arr[i+1]){
count++;
value=arr[i];
}
}
count++; //for last element
cout<<"Repeated Element: "<<value;
cout<<endl<<"Number of occurrences: "<<count;
}
int main(){
int Arr[]={ 2,3,4,5,5,5,6,7,8 };
int len=sizeof(Arr)/sizeof(Arr[0]);
findRepeat(Arr,len);
return 0;
}
Đầu ra
Repeated Element: 5
Number of occurrences: 3