//给定数组A,大小为n,数组元素为1....n的数字。
//不过有的数字出现了多次,有的数字没有出现。
//统计哪些数字没有出现,哪些数字出现了多少次。
//要求时间复杂度O(N),空间复杂度O(1);
//做的有点跑题了..
#include<iostream>
#include<malloc.h>
using namespace std;
int main()
{
int n;//待输入数组长度
int *a;//待处理数组
int *count;//计数器
while(cin>>n)
{
a=(int *)malloc(n*sizeof(int));
count=(int *)malloc((n+1)*sizeof(int));
for(int i=1;i<n;i++)
{
count[i]=0;
}
cout<<"请输入待处理数字:"<<endl;
for(int i=0;i<n;i++)
{
cin>>a[i];//输入的数字必须在1...n之间
count[a[i]]++;
}
cout<<"从1到n的数字的数量分别为"<<endl;
for(int i=1;i<n;i++)
{
cout<<i<<"的数量为:"<<count[i]<<endl;
}
}
}
//不过有的数字出现了多次,有的数字没有出现。
//统计哪些数字没有出现,哪些数字出现了多少次。
//要求时间复杂度O(N),空间复杂度O(1);
//做的有点跑题了..
#include<iostream>
#include<malloc.h>
using namespace std;
int main()
{
int n;//待输入数组长度
int *a;//待处理数组
int *count;//计数器
while(cin>>n)
{
a=(int *)malloc(n*sizeof(int));
count=(int *)malloc((n+1)*sizeof(int));
for(int i=1;i<n;i++)
{
count[i]=0;
}
cout<<"请输入待处理数字:"<<endl;
for(int i=0;i<n;i++)
{
cin>>a[i];//输入的数字必须在1...n之间
count[a[i]]++;
}
cout<<"从1到n的数字的数量分别为"<<endl;
for(int i=1;i<n;i++)
{
cout<<i<<"的数量为:"<<count[i]<<endl;
}
}
}