เราได้รับอาร์เรย์ของจำนวนที่ต่อเนื่องกันของความยาว n อาร์เรย์มีตัวเลขเพียงตัวเดียวซึ่งซ้ำกันมากกว่าหนึ่งครั้ง เป้าหมายคือการได้รับจำนวนครั้งที่องค์ประกอบซ้ำในอาร์เรย์ หรือเราสามารถพูดได้ว่า จงหาความยาวขององค์ประกอบที่ซ้ำกันในอาร์เรย์
เราจะสำรวจอาร์เรย์จาก i=0 ไปยัง i
มาทำความเข้าใจกับตัวอย่างกัน
ป้อนข้อมูล − arr[]={ 0,1,2,3,3,3 }, N=6
ผลผลิต − นับเฉพาะองค์ประกอบที่ทำซ้ำ − 3
คำอธิบาย − 3 ซ้ำสามครั้งที่นี่
ป้อนข้อมูล − arr[]={ 1,2,3,4,4,4,4,4,5,6 }, N=10
ผลผลิต − นับเฉพาะองค์ประกอบที่ทำซ้ำ − 5
คำอธิบาย − 4 ซ้ำ 5 ครั้งที่นี่
เราใช้อาร์เรย์จำนวนเต็ม arr[] ที่เริ่มต้นด้วยตัวเลขต่อเนื่องกันซึ่งมีการทำซ้ำตัวเลขหนึ่งตัว
เลนตัวแปรเก็บความยาวของอาร์เรย์
ฟังก์ชัน findRepeat(int arr[],int n) รับอาร์เรย์และความยาวเป็นอินพุตและแสดงค่าองค์ประกอบที่ซ้ำกันและความยาวขององค์ประกอบที่ซ้ำกัน
นับเริ่มต้นเป็น 0
เริ่มจากดัชนี i=0 ถึง i
ที่ส่วนท้ายของการเพิ่มลูปให้นับ 1 สำหรับองค์ประกอบสุดท้าย
แสดงองค์ประกอบที่ซ้ำกันเป็นค่า
แสดงจำนวนการทำซ้ำเป็นจำนวนครั้ง
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
ตัวอย่าง
#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;
}
ผลลัพธ์
Repeated Element: 5
Number of occurrences: 3