您好我开始做代码厨师初学者问题并且陷入了困境。我尝试通过全局声明数组来减少堆栈内存,但这也不起作用。这是我的代码
#include<iostream>
using namespace std;
#define max 101
int main()
{
int t,n;
cin>>t;
while(t--)
{
int a[max];
int c[max]={0};
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int j=0;j<n;j++)
{
c[a[j]]++;
}
int temp=0;
int x=0;
for(int k=0;k<n;k++)
{
if(c[k]>temp)
{
temp=c[k];
x=k;
}
}
cout<<x<<" "<<temp<<endl;
}
}
答案 0 :(得分:0)
您可能需要一个不限制输入值的数据结构,或只是更改算法。
使用std::map<int, int>
代替c
计算每个数字的出现次数,或者只排序a
以汇总相同的值并计算。