এই সমস্যায়, আমাদের n আকারের একটি arr[] দেওয়া হয়। আমাদের কাজ হল f একটি অ্যারের মধ্যে একমাত্র ভিন্ন উপাদানের মধ্যে .
অ্যারেতে শুধুমাত্র দুটি ভিন্ন ধরনের উপাদান রয়েছে। একটি ছাড়া সব উপাদান একই।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট
arr[] = {1, 1, 1, 2, 1, 1, 1, 1}
আউটপুট
2
সমাধান পদ্ধতি
সমস্যা সমাধানের জন্য একটি সহজ পদ্ধতি, আমাদের অ্যারেটি অতিক্রম করতে হবে এবং অ্যারের অন্যান্য উপাদান থেকে আলাদা উপাদানগুলি খুঁজে বের করতে হবে। এই পদ্ধতির একটি সময় জটিলতা প্রয়োজন O(N 2 )।
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