在C#中,可以使用HashSet來實(shí)現(xiàn)去重
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
int[] inputArray = { 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 9 };
int[] uniqueArray = RemoveDuplicates(inputArray);
Console.WriteLine("Original array:");
foreach (int item in inputArray)
{
Console.Write(item + " ");
}
Console.WriteLine("\nUnique array:");
foreach (int item in uniqueArray)
{
Console.Write(item + " ");
}
}
static int[] RemoveDuplicates(int[] inputArray)
{
HashSet<int> uniqueSet = new HashSet<int>(inputArray);
return uniqueSet.ToArray();
}
}
在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)名為RemoveDuplicates
的靜態(tài)方法,該方法接受一個(gè)整數(shù)數(shù)組作為參數(shù)。然后,我們使用HashSet來存儲(chǔ)數(shù)組中的唯一元素。最后,我們將HashSet轉(zhuǎn)換為數(shù)組并返回結(jié)果。
這種方法的時(shí)間復(fù)雜度為O(n),其中n是輸入數(shù)組的大小。因?yàn)镠ashSet的添加和查找操作的平均時(shí)間復(fù)雜度都是O(1)。