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
广告