当前位置: 首页 > news >正文

分治法找到数组中出现次数超过一半的元素

题目描述

分治法找到数组中出现次数超过一半的元素

输入格式:

1.数组元素个数
2.元素值

输入样例:

5
1 2 1 1 4

输出样例:

1

#include<stdio.h>

int findCandidate(int arr[], int n) {
int candidate=arr[0];
int count =1;
for (int i=1;i<n;i++) {
if (arr[i]==candidate) {
count++;

} else {
count--;
}

if (count ==0) {
candidate=arr[i];
count = 1;
}
}
return candidate;

}
int findMajorityElement(int arr[], int n) {
int candidate = findCandidate(arr,n);
int count = 0;

for (int i=0;i<n;i++) {
if (arr[i]==candidate) {
count++;
}
}
if (count>n/2) {
return candidate;
} else {
return -1;
}
}
int main(){
//请在此处开始编写你的代码
int n;
scanf("%d",&n);
int arr[n];
for (int i=0;i<n;i++) {
scanf("%d",&arr[i]);
}
int majorityElement=findMajorityElement(arr,n);

if (majorityElement!=-1) {
printf("The majority element in the array is:%d\n",majorityElement);

} else {
printf("There is no majority element in the array.\n");
}
return 0;
}

http://www.dtcms.com/a/414952.html

相关文章:

  • C语言入门知识点(12.回调函数与qsort函数的模拟与实现)
  • 徐州网站客户如何做网站的seo优化
  • 岳阳网站建设哪家好海北高端网站建设公司
  • MyBatis中如何实现数据封装
  • Http 常见的状态码
  • [论文阅读] 人工智能 | 突破AI大模型算力瓶颈:下一代计算范式的三大演进路径探索
  • 杭州高端设计网站建设dede旅游网站
  • 网站建设绪论江苏天宇建设集团官方网站
  • 开发知识点-Python-virtualenv
  • 网站如何做线下的市场推广网站开发工程师证
  • 珠海市网站建设的公司软件开发与设计
  • 好紧张,第一次接吻是一种什么感觉
  • 学做网站看什么书网站定制分享
  • 基于机器学习的心血管疾病智能预测系统
  • 上海专业的网站公多语网站wordpress子站点
  • vscode和cursor中引入prettierrc进行格式化
  • 常见算法实现系列01 - 排序算法
  • 做兼职去什么网站wordpress 预加载动画
  • XCOSnTh单片机的串口
  • SSR/SSG:Next.js、Nuxt.js的SEO优化与缓存策略
  • 我想做个网站推广怎么做苏州好的网络科技公司
  • 9.27 深度学习9
  • 图数据库:三类图模型核心区别是什么?属性图、资源描述框架和超图。
  • 锥优化介绍(2025年9月27日)
  • 淄博网站制作定制优化怎么在另外一台电脑的浏览器打开自己做的网站地址栏输入什么
  • 做企业网站收费多少钱苏州吴江区城市建设局网站
  • 鸿蒙:PickerDialog 日期选择弹窗实现流程
  • Vue 简介
  • 电商网站项目经验介绍中国企业500强出炉
  • 网站建设 赣icp 南昌成都网站设计哪家比较好