统计数组中各数字出现的次数
来源:互联网 发布:软件安全漏洞检测技术 编辑:程序博客网 时间:2024/06/06 09:57
给定数组A,大小为n,数组元素为1到n的数字,不过有的数字出现了多次,有的数字没有出现。请给出算法和程序,统计出各数字出现的次数。要求O(n)的时间复杂度,O(1)的空间复杂度。
分析:如果没有空间复杂度限制,遍历的同时用hash表统计各数字即可。当前条件下,可以考虑利用数组自身空间做hash。
第一遍遍历,A[i]=A[i]*(n+1);第二遍遍历,A[A[i]/(n+1)-1]++,整除时减1为防止数组中有n导致数组越界;第三遍遍历,A[i]%(n+1)输出结果。
代码如下:
void Times(int a[], int n){int i;for (i = 0; i < n; i++)a[i] = a[i] * (n + 1);for (i = 0; i < n; i++)a[a[i] / (n + 1) - 1]++;for (i = 0; i < n; i++)cout << a[i] % (n + 1) << " ";cout << endl;}
- 统计数组中数字出现的次数
- 统计数组中各数字(元素)出现的次数
- 统计数组中各数字出现的次数
- 统计数组中各数字出现的次数
- 8.统计数组中数字出现次数
- 统计一个数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数。
- 统计一个数字在排序数组中出现的次数。
- 统计一个数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数。
- 统计一个数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数。
- 统计一个数字在排序数组中出现的次数
- jsf web.xml配置
- [IOS]陀螺仪和加速仪编程
- 登陆窗体为什么用OK标记是否登陆成功
- 设置窗口居中的两种方法
- 奋战杭电ACM(DAY5)1009
- 统计数组中各数字出现的次数
- 浙江大学PAT上机题解析之1015. Reversible Primes (20)
- left join、right join、inner join的区别
- 数据结构
- (step6.2.2)hdu 1874(畅通工程续——最短路径)
- 黑马程序员——反射知识总结
- js eval函数使用方法介绍
- USB数据线内阻对充电电流的影响
- sicily1687. Permutation