Я написал код, чтобы удалить повторяющиеся значения и добавить 0 на место. Но я чувствую, что мой код должен быть намного лучше этого, если кто-нибудь может дать лучшее представление о разработке этого кода. Пожалуйста, предложите мне и посоветуйте мне.Удаление повторяющихся значений и добавление 0 на их место
- Вход - 2,3,4,3,6
- выход - 2,3,4,0,6
Вот мой код:
#include<stdio.h>
int main()
{
int a[100],b[100];
int i,j,size;
scanf("%d",&size);
for(i=0;i<size;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<size;i++)
{
b[i]=a[i];
}
for(i=0;i<size;i++)
{
for(j=i+1;j<size;j++)
{
if(a[i]==a[j])
{
b[j]=0;
}
}
}
for(i=0;i<size;i++)
printf("%d\n",b[i]);
return 0;
}
Одна оптимизация может использовать только один массив и модифицировать на 'a' вместо копирования в' b'. –
@how реализовать это, потому что, я знаю, для большого количества цифр это сделает мою программу очень медленной. –
Вы уже используете O (n^2). Можно проверить в том же массиве. –