C++排序連續元素陣列中重複元素的計數
給定一個長度為n的連續數字陣列。該陣列只有一個數字重複出現多次。目標是獲取該元素重複出現的次數。或者我們可以說,找到陣列中重複元素的長度。
我們將遍歷陣列,從i=0到i<n。如果任何arr[i]==arr[i+1],則計數加1。最後,為最後一個元素計數加1。計數將包含重複元素的長度。
讓我們透過例子來理解。
輸入 − 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[],初始化為連續數字,其中一個數字重複。
變數len儲存陣列的長度。
函式findRepeat(int arr[],int n)接收陣列及其長度作為輸入,並顯示重複元素的值和重複元素的長度。
將初始計數設為0。
從索引i=0到i<n開始。如果arr[i]==arr[i+1]。計數加1。將元素儲存在變數value中。
迴圈結束時,為最後一個元素計數加1。
顯示重複出現的元素為value。
顯示重複次數為count。
示例
#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
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP