Dictionary<int, int> বা LINQ Distinct() ব্যবহার করে অ্যারেতে অনন্য এলিমেন্ট খুঁজে বের করা যায়। Dictionary-তে ফ্রিকোয়েন্সিও পাওয়া যায়।
Dictionary পদ্ধতি (ফ্রিকোয়েন্সি সহ)
int[] arr = { 88, 23, 56, 96, 43 };
var freq = new Dictionary<int, int>();
foreach (var n in arr)
{
if (freq.ContainsKey(n)) freq[n]++;
else freq[n] = 1;
}
foreach (var kvp in freq)
Console.WriteLine($"{kvp.Key} occurred {kvp.Value} time{(kvp.Value > 1 ? "s" : "")}");
LINQ Distinct পদ্ধতি (সহজ)
using System.Linq;
var distinct = arr.Distinct();
foreach (var n in distinct) Console.WriteLine(n);
সম্পূর্ণ উদাহরণ
using System;
using System.Collections.Generic;
using System.Linq;
class DistinctElementsDemo
{
public static void Main()
{
int[] arr = { 88, 23, 56, 96, 43 };
// Dictionary-এ ফ্রিকোয়েন্সি
var freq = new Dictionary<int, int>();
foreach (var n in arr)
freq[n] = freq.GetValueOrDefault(n, 0) + 1;
Console.WriteLine("ফ্রিকোয়েন্সি সহ:");
foreach (var kvp in freq)
Console.WriteLine($"{kvp.Key} occurred {kvp.Value} time");
// শুধু অনন্য মান
Console.WriteLine("\nশুধু ডিস্টিনCt:");
foreach (var n in arr.Distinct())
Console.WriteLine(n);
}
}
আউটপুট
ফ্রিকোয়েন্সি সহ:
88 occurred 1 time
23 occurred 1 time
56 occurred 1 time
96 occurred 1 time
43 occurred 1 time
শুধু ডিস্টিনCt:
88
23
56
96
43
নোট
- সব এলিমেন্ট ইউনিক হলে দুটি পদ্ধতিই একই আউটপুট দেয়।
- Dictionary দিয়ে ফ্রিকোয়েন্সি পাওয়া যায়, Distinct শুধু মান দেয়।
- অর্ডার সংরক্ষণ:
Distinct()প্রথম ঘটনার অর্ডার রাখে।