求数组中连续出现最多次数的数的次数

本文介绍了一个算法,用于在给定数组中找到出现次数最多的元素及其出现次数。通过遍历数组并跟踪每个元素的计数,可以高效地解决这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>

/**
 * 找出数组中出现次数哦最多的数的次数
 */
int MaxTimes(int *piArry, int iLen)
{
	int iIdx = 1;     /* 数组索引 */
	int iCount = 1;   /* */
	int iMaxNum = 1;  /* 出现的最大次数 */

	while (iIdx <= iLen)
	{
		/* 如果相邻两个数相等,则计数器加一 */
		if (piArry[iIdx -1] == piArry[iIdx])
		{
			iCount++;
		}
		/* 若不相等,则将计数器恢复初值 */
		else
		{
			iCount = 1;
		}

		/* 更新连续出现的最大次数  */
		if (iCount > iMaxNum)
		{
			iMaxNum = iCount;
		}

		iIdx++ ;
	}

	return iMaxNum;
}

int main(int argc, char **argv)
{
	int aiArry[8] = {1, 2, 2, 4, 4, 3, 3, 3};
	int iMaxNum = 0;

	iMaxNum = MaxTimes(aiArry, 7);

	printf("%d\n", iMaxNum);

	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值