استخراج عناصر غیر تکراری آرایه در سی شارپ


دات وایت | DotWhite.ir
استخراج عناصر غیر تکراری آرایه در سی شارپ

اگر آرایه دارای تکراری های زیادی باشد ، می توانیم از جدول hash استفاده کرده و عناصر را در جدول hash ذخیره کنیم. بعد از ذخیر فقط باید دنبال کلیدها در جدول hash بگردیم تا عناصر تکراری را بیابیم.


مثال:

Input : -1 2 -1 3 2
Output : 3
Explanation : The number that does not repeat is : 3

Input : 9 4 9 6 7 4
Output : 6 7

// Efficient C# program to print all non-

// repeating elements.

using System;

using System.Collections.Generic;


class DotWhite_IR

{

    static void firstNonRepeating(int[] arr, int n)

    {

        // Insert all array elements in hash

        // Hash table

        Dictionary<int, int> m = new Dictionary<int, int>();


        for (int i = 0; i < n; i++)

        {

            if(m.ContainsKey(arr[i]))

            {

                var val = m[arr[i]];

               m.Remove(arr[i]);

               m.Add(arr[i], val + 1);

            }


            else

            {

                m.Add(arr[i], 1);

            }

        }

        // Traverse through map only and

        // using for-each loop for iteration over Map.entrySet()

        foreach (KeyValuePair<int, int> x in m)

        {

            if (x.Value == 1)

            {

                Console.Write(x.Key + " ");

            }

        }

    }

    // Driver code

    public static void Main(String[] args)

    {

        int[] arr = { 9, 4, 9, 6,7, 4 };

        int n = arr.Length;

       firstNonRepeating(arr, n);

    }

}

/* This code contributed by Ebrahim Faraji */


خروجی:

7 6

منبع: دات وایت | DotWhite.IR



تاریخ انتشار : پنجشنبه 21 فروردين 1399 ساعت: 19:55 | نظرات()
برچسب ها : , , , , , , , , , , , , , , , , , , , ,

نویسنده :

بازديد : 244

موضوع: سی شارپ , کد های مفید ,

بخش نظرات این مطلب
نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتیرفرش کد امنیتی