【C语言】统计数组中出现次数超过一半的数字
2015-07-07 15:15
686 查看
//统计数组中出现次数超过一半的数字 #include <stdio.h> int Find(int *arr, int len) { int num = 0; //当前数字 int times = 0; //当前数字出现的次数 int i = 0; for (i = 0; i<len; i++) { if (times == 0) { num = arr[i]; times = 1; } else if (arr[i] == num) times++; else times--; } return num; } int main() { int arr[] = { 1, 5, 5.2, 5, 4, 3, 5, 5, 5 }; printf("超过一半的数是:%d\n", Find(arr, sizeof(arr) / sizeof(arr[0]))); return 0; }
相关文章推荐
- 【C语言】调整数组使奇数全部都位于偶数前面
- 枚举类型本质
- 最长回文子串
- 关于C++ const 的全面总结 取代#define
- C++ ActiveMQ
- c++ATL中的checkbox控件
- 深入探索C++对象模型 读书笔记
- 玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
- 数据在内存中的存储
- leetcode 日经贴,Cpp code -Power of Two
- C代码中如何调用C++ C++中如何调用C
- CREATESTRUCT
- c++ primer读书笔记-第九章 顺序容器
- 【C语言】求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素
- 【c++】函数模版
- C++格式化输出,C++输出格式控制
- C++格式化输出,C++输出格式控制
- 迫不及待推荐一个C++计算几何库
- C语言之基本算法20—同构数
- C语言之基本算法19—枚举勾股数