最近我通過這樣的打印顯示的序列
問題消失在最大次數的數量寫一個程序來讀取N個整數序列,並打印數量 出現的最大數量次序。 CONSTRAINTS = N < = 10000 的整數將在範圍[-100,100]
我已經writen以下代碼:
main()
{int arr[201],max=0,maxelement,n,i,num;
int t;
scanf("%d",&n);
int *storenum=(int *)malloc(sizeof(int)*n);
for(i=0;i<201;i++)
{
arr[i]=0;
}
for(i=0;i<n;i++)
{
scanf("%d",&num);
storenum[i]=num;
if(num<=100 && num>=-100)
{
arr[num+100]=arr[num+100]+1;
}
}
for(i=0;i<n;i++)
{
int t=storenum[i]+100;
if(arr[t]>max)
{ maxelement=storenum[i];
max=arr[t];}
}
printf("\n\n%d",maxelement);
getch();
}
現在我認爲這個代碼沒有優化的一個。 ..我想有一個解決方案,將有更少的時間和空間的複雜性和更好的解決方案。
這裏有問題嗎?此外,這應該屬於代碼審查 –
不要忘記配置文件,之前和之後。 – Mikhail