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