概述
算法:
1)初始化,设当前数组为arr[],长度为n,当前元素cur=arr[0],元素出现次数为count;
2)遍历数组,若count==0,设cur=arr[i],count=1;否则,转向3)
3)若arr[i]==cur,则count++,否则,转向4)
4)count--,当i==n-1时,转向5),否则i++,转向2)
5)返回cur;
1 int MoreThanHalf(int *arr,int n) 2 { 3 int cur,count=0; 4 for(int i=0;i<n;i++) 5 { 6 if(count==0) 7 { 8 cur=arr[i]; 9 count==1; 10 } 11 else 12 { 13 if(cur==arr[i]) 14 count++; 15 else 16 count--; 17 } 18 } 19 return cur; 20 }
转载于:https://www.cnblogs.com/mrlsx/p/5431837.html
最后
以上就是单薄翅膀为你收集整理的数组中一个数字出现的次数超过了数组长度的一半,请找出这个数的全部内容,希望文章能够帮你解决数组中一个数字出现的次数超过了数组长度的一半,请找出这个数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复