温馨提示×

如何编写高效的c#去重函数

c#
小樊
82
2024-09-20 07:10:38
栏目: 编程语言

在C#中,可以使用HashSet来实现去重

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();
    }
}

在这个示例中,我们首先创建了一个名为RemoveDuplicates的静态方法,该方法接受一个整数数组作为参数。然后,我们使用HashSet来存储数组中的唯一元素。最后,我们将HashSet转换为数组并返回结果。

这种方法的时间复杂度为O(n),其中n是输入数组的大小。因为HashSet的添加和查找操作的平均时间复杂度都是O(1)。

0