N个元素的数组中找出出现多于N/2次的数(主元素)
来源:互联网 发布:遗传算法 电子书 编辑:程序博客网 时间:2024/04/27 19:27
/*
N个元素的数组中找出出现多于N/2次的数(主元素)问题一:如何构造一个数组,此数组中有数字出现多于N/2次?随机生成一个数,将此数随机插入N/2+1次到数组中,其它空位再用随机生成数来填充问题二:如果存在多于N/2次的数,如何找到它?排序,中间的数应该是出现多于N/2次的数*/
#include "iostream"#include "ctime"#include "cstdlib"using namespace std;#define N 10int main(){int num[N] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};int index = 0; //数组下标int count = 0; //计数int temp;srand((unsigned)time(0)); //播种子int random = rand() % N; //生成10以内的数字while(count < N/2+1) //插入N/2+1次{//生成某个范围内随机整数公式:rand() % (up - low + 1) + lowindex = rand() % N; //随机数组下标(0~N-1)if(num[index] != random){num[index] = random; count++;}}for(int i = 0; i < N; i++) //填充未赋值的元素{int other = rand() % N;if(num[i] == -1 && other != random) //没有填充{num[i] = other;}}for(int i = 0;i < N; i++) //排序,输出中间位置的值即为主元素{for(int j = 0; j < i; j++){if(num[i] > num[j]){temp = num[i];num[i] = num[j];num[j] = temp;}}}cout<<"主元素:"<<num[N/2];system("pause");return 0;}
0 0
- N个元素的数组中找出出现多于N/2次的数(主元素)
- 从有n个元素的数组中找出出现次数大于n/3次的元素
- java 找出n个元素数组中重复次数最多的数(假设出现次数大于n/2)
- 找出数组中出现次数超过n/2(n/3)次的数
- 算法 n大小的数组中找出出现3/n次数以上的元素
- 一个具有N个元素的数组,找出数组中的第二大的数
- n个元素的数组中找出前K个最大数最有效算法O(nlg(k))
- 找出数组X和Y中所有2n个元素的中位数
- 在N个数中找出出现奇数次的数
- 找出数组中出现奇数次的元素
- 找出数组中唯一出现k次的元素x
- 找出数组中出现奇数次的元素
- 找出数组中出现奇数次的元素
- 1.1 数组-找出无序数组中最大的N个元素的位置
- 算法之找出数组中出现次数大于n/m的元素
- 长度为n的数组,有一个数m重复出现了n/2+1次,找出这个数
- 从长度为N的数组中找出所有M个元素组合的优化算法
- 找出N个元素的数组中最大的K个数
- 拓扑排序
- MySQL数据库my.cnf配置文件注释详解
- sql 语句
- linux man 命令 详解
- 6.HTML5特效
- N个元素的数组中找出出现多于N/2次的数(主元素)
- asp.net/c# 用<input type="file" />实现文件上传,multipart/form-data
- 【2014武汉GIS真题首发】2014武汉大学地图学与地理信息系统考研真题(GIS520论坛首发)
- asp.net mvc 3.0详细笔记__17__使用 DataAnnotations 进行模型验证
- 一些开源项目网址
- 可变参数的c/c++函数
- 软件工程 之 面向对象
- linux shell命令快捷获得系统帮助(一)[man-pages定义规范]
- 多线程互斥读写数据的一点改进