เราได้รับอาร์เรย์ของจำนวนที่ต่อเนื่องกันของความยาว 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