কম্পিউটার টিউটোরিয়াল

C++ দিয়ে অ্যারেতে একমাত্র ভিন্ন এলিমেন্ট বের করা


এই সমস্যাতে, আমাদের একটি অ্যারে arr[] দেওয়া আছে যার সাইজ n। আমাদের কাজ হল অ্যারেতে একমাত্র ভিন্ন এলিমেন্ট বের করা।

অ্যারেতে শুধু দুটি ভিন্ন টাইপের এলিমেন্ট আছে। সব এলিমেন্ট একই ছাড়া একটি।

উদাহরণ দেখি:

ইনপুট

arr[] = {1, 1, 1, 2, 1, 1, 1, 1}

আউটপুট

2

সমাধানের পদ্ধতি

একটি সহজ পদ্ধতি হল অ্যারে ট্রাভার্স করে অন্য এলিমেন্ট থেকে ভিন্ন এলিমেন্ট খুঁজে বের করা। এতে O(N2) টাইম লাগে।

O(N) টাইমে সমাধান করার পদ্ধতি হল হ্যাশ টেবিল ব্যবহার করে এলিমেন্ট এবং তাদের অকারেন্স ফ্রিকোয়েন্সি স্টোর করা। এবং একবার অকারেন্স থাকা ভ্যালু প্রিন্ট করা।

উদাহরণ

#include <iostream> using namespace std; int findDiffElementArray(int arr[], int n){    if (n == 1)       return -1;    if (n == 2)       return arr[0];    if (arr[0] == arr[1] && arr[0] != arr[2])       return arr[2];    if (arr[0] == arr[2] && arr[0] != arr[1])       return arr[1];    if (arr[1] == arr[2] && arr[0] != arr[1])       return arr[0];    for (int i = 3; i < n; i++)       if (arr[i] != arr[i - 1])          return arr[i];          return -1; } int main(){    int arr[] = { 5, 5, 1, 5, 5, 5, 5};    int n = sizeof(arr) / sizeof(arr[0]);    cout<<"The different element in the array is "<<findDiffElementArray(arr, n);    return 0; }

আউটপুট

The different element in the array is 1

  1. C++ ব্যবহার করে অ্যারেতে একটি সংখ্যার ফ্রিকোয়েন্সি বের করা

  2. বাইনারি সার্চ পদ্ধতিতে অ্যারের শীর্ষ উপাদান খুঁজে বের করার C++ প্রোগ্রাম

  3. বাইনারি সার্চ পদ্ধতিতে অ্যারের ন্যূনতম উপাদান খুঁজে বের করার C++ প্রোগ্রাম

  4. লিনিয়ার সার্চ ব্যবহার করে অ্যারেতে ন্যূনতম উপাদান খুঁজে বের করার C++ প্রোগ্রাম