由自然数1-1000中某些数字,找出出现次数最多的数字
2016-04-22 16:06
288 查看
//
// main.c
// 数据结构系列_算法复杂度
//
// Created by Kevin-Dfg on 16/4/19.
// Copyright © 2016年 Kevin-Dfg. All rights reserved.
//
//在一个由自然数1-1000中某些数字组成所组成的数组中,每个数字可能出现0次或多次,
//设计一个算法,找出出现次数最多的数字
#include <stdio.h>
void search(int a[], int len){
int sp[1000] = {0}; //sp数组表示数字出现的次数
int i = 0;
int max = 0;
for(i=0; i<len; i++){
int index = a[i] - 1;
sp[index]++;
}
for(i=0; i<1000; i++){
if( max < sp[i] ){
max = sp[i]; //将出现次数最多的数字赋值给max
}
}
for(i=0; i<1000; i++){
if( max == sp[i] ){
printf("出现次数最多的数字是:%d\n\n", i+1);
}
}
}
int main(int argc, const char * argv[]) {
// insert code here...
int array[]={1,2,3,4,5,5,5,5,2,4,1,1};
search(array, sizeof(array)/sizeof(*array));
return 0;
}
// main.c
// 数据结构系列_算法复杂度
//
// Created by Kevin-Dfg on 16/4/19.
// Copyright © 2016年 Kevin-Dfg. All rights reserved.
//
//在一个由自然数1-1000中某些数字组成所组成的数组中,每个数字可能出现0次或多次,
//设计一个算法,找出出现次数最多的数字
#include <stdio.h>
void search(int a[], int len){
int sp[1000] = {0}; //sp数组表示数字出现的次数
int i = 0;
int max = 0;
for(i=0; i<len; i++){
int index = a[i] - 1;
sp[index]++;
}
for(i=0; i<1000; i++){
if( max < sp[i] ){
max = sp[i]; //将出现次数最多的数字赋值给max
}
}
for(i=0; i<1000; i++){
if( max == sp[i] ){
printf("出现次数最多的数字是:%d\n\n", i+1);
}
}
}
int main(int argc, const char * argv[]) {
// insert code here...
int array[]={1,2,3,4,5,5,5,5,2,4,1,1};
search(array, sizeof(array)/sizeof(*array));
return 0;
}
相关文章推荐
- 100道C#面试题(.net开发人员必备)
- iOS开发 剖析网易新闻标签栏视图切换(addChildViewController属性介绍)
- ajax遮罩
- Tire树
- SpringMVC的基础配置
- iOS 如何让一个程序在后台运行不被挂起,不死掉
- AS不同渠道使用不同图片
- struts1和Velocity整合
- 【Maven】Project configuration is not up-to-date with pom.xml错误解决方法
- USM锐化之openCV实现,附赠调整对比度函数
- unity, GL.TexCoord or GL.Color must put before GL.Vertex!!!
- python修饰器各种实用方法
- 十四、原型模式Prototype(创建型模式)
- 《疯狂Java讲义(第3版)》.(李刚)——8大排序
- yahoo(雅虎)工程师提供css 初始化代码
- visual studio code
- 互联网从业人员跳槽手册
- Android自定义下拉刷新动画--仿百度外卖下拉刷新
- C++实验4—输出星号图
- CI 笔记5 (CI3.0 默认控制器,多目录)