Je dois supprimer les entrées en double d'un tableau, mais je ne peux pas utiliser de nouvelles structures de données et le même tableau ne devrait renvoyer que des éléments distincts. Par exemple, si mon tableau est 1,3,3,3,5,55,67,1
, le résultat doit être 1,3,5,55,67
.Supprimer le doublon d'un tableau
Je crois que j'ai résolu le problème, mais j'ai besoin de votre avis pour savoir si c'est un bon algorithme ou si j'ai besoin de changer quelque chose.
public void DeleteDuplicate(int[] array)
{
int l = 0;
int newPosition = array.Length -1;
for (int i = 0; i < array.Length; i++)
{
for (int j = i + 1; j < array.Length-l; j++)
{
if (array[i] == array[j])
{
int temp = array[j];
array[j] = array[newPosition];
array[newPosition] = temp;
newPosition--;
l++;
}
}
}
Array.Resize(ref array, array.Length - l);
}
Etes-vous autorisé à muter le tableau d'une autre manière (par exemple en réorganisant les éléments)? Ce n'est pas clair à partir de votre exemple. Si la réponse est oui, alors vous pouvez le faire plus rapidement. – jamesdlin