数组中出现次数超过一半的数字

题:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。

成都创新互联公司主营武邑网站建设的网络公司,主营网站建设方案,成都app软件开发,武邑h5小程序制作搭建,武邑网站营销推广欢迎武邑等地区企业咨询

思路:首先看到这个题目,数组中一个数字出现的次数超过数组长度的一半,也就意味着这个数字出现的次数比数组中其它数字出现次数的总和还多。我们在遍历的数组的时候可以用两个值来记录,一个是数组出现的次数count,一个用来保存它的结果result,我们把数组的第一个数arr[0]作为结果保存跟下一个数字比较,count记为1,如果下一个数字跟之前保存的数字相同count+1,如果跟之前保存的数字不同,则count-1。如果次数为0,我们需要保存它的下一个数字,并且将次数设为1。因为要找的数字出现的次数超过数组长度长度的一半,所以最后一次设为1的数字就是我们要找的数字。

代码:

#include 
using namespace std;
int Serach(int arr[],int len)
{
	int count=1;
	int result=arr[0];
	for(int i=1;i            
            
                        
文章标题:数组中出现次数超过一半的数字
网站URL:http://hxwzsj.com/article/pssphs.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 营销型网站建设 成都商城网站建设 网站制作 高端品牌网站建设 成都网站设计 四川成都网站建设 网站建设改版 网站建设 成都网站制作 教育网站设计方案 宜宾网站设计 成都网站制作 成都网站制作公司 成都响应式网站建设公司 网站设计 成都网站建设流程 成都品牌网站建设 成都网站制作 自适应网站建设 手机网站建设 成都网站制作 品牌网站建设