#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int ans=1;
int a[1005],b[1005]={0};
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) {
int temp=a[i];
for(int j=1;j<i;j++) //记住不能等于,因为是判断它前面的,可以举特例i=1来排除
if(a[i]==a[j]) {
ans++;
}
cout<<ans<<" ";
ans=1;
}
return 0;
}
这道题虽然是水题,但也是想了好久才明白题目含义
题目含义:判断a[i]前一共出现多少次,也就是遍历一下a[i]前面的数组
简单的
#include <iostream>
using namespace std;
int main()
{
int n;
int a[1001]={0};
cin >> n;
for(int i=1; i<= n; i++)
{
int num;
cin>>num;
a[num] += 1;
cout<<a[num]<< " ";
}
return 0;
}