최근에 나는이인쇄
같은 문제를 통과 한 순서대로 최대 횟수를 표시 수는 N 정수의 시퀀스를 읽고 수를 인쇄하는 프로그램을 작성 시간 순서대로. 제약 1 < = N < = 10000 정수는 I가 다음 코드를 writen있다 [-100,100]
범위에있을 것이다 :
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();
}
이제 I이 코드를 최적화되지 생각한다. .. 시간과 공간의 복잡성을 줄이고 솔루션을 개선 할 수있는 솔루션을 원합니다.
여기에 질문이 있습니까? 또한 코드 검토 –
에 속해야합니다. 전후에 프로필 작성하는 것을 잊지 마십시오. – Mikhail