数字出现次数

转自http://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5ODIzNDQ3Mw==&appmsgid=10000205&itemidx=1&sign=ead20f621f2625326fd85fcc39218540

给定数组A,大小为n,数组元素为1到n的数字,不过有的数字出现了多次,有的数字没有出现。请给出算法和程序,统计哪些数字没有出现,哪些数字出现了多少次。要求在O(n)的时间复杂度,O(1)的空间复杂度要求下完成。

void fun(int a[], int n)
{
	for (int i = 0; i < n; i++)
	{
        a[(a[i]%(n+1))-1] += (n+1);
	}

	for (int i = 0; i < n; i++)
	{
		cout << i+1 << ": " << a[i]/(n+1) << endl;
	}
}


你可能感兴趣的:(数字出现次数)