আমাদের N উপাদানের একটি অ্যারে দেওয়া হয়েছে। লক্ষ্য হল সূচক জোড়া (i,j) খুঁজে বের করা যার একই উপাদান মান যেমন i!=j। যেমন, Arr[i]=Arr[j] এবং i!=j। এটি সমান আকারের দস্তানা জোড়া তৈরি করতে ব্যবহৃত হয়। এন গ্লাভসের মধ্যে শুধুমাত্র জোড়া গ্লাভস বিক্রির জন্য উপযোগী।
আমরা 0<=i
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট − Arr[]={ 4,3,2,1,2,4 } N=6
আউটপুট − সমান উপাদান সহ সূচক জোড়ার সংখ্যা − 2
ব্যাখ্যা −
count=0, Arr[]= [ 4,3,2,1,2,4 ] Arr[0]=Arr[5], 0!=5, count=1 Arr[0]=Arr[5]=-1 → [ -1,3,2,1,2,-1 ] Arr[2]=Arr[4], 2!=4, count=2 Arr[2]=Arr[4]=-1 → [ -1,3,-1,1,-1,-1 ] Now array has no new pairs with equal values, i!=j and > -1. Total pairs=2
ইনপুট − Arr[]={ 2,2,2,2,2 } N=5
আউটপুট − সমান উপাদান সহ সূচক জোড়ার সংখ্যা − 2
ব্যাখ্যা −
count=0, Arr[]= [ 2,2,2,2,2 ] Arr[0]=Arr[1], 0!=1, count=1 Arr[0]=Arr[1]=-1 → [ -1,-1,2,2,2 ] Arr[2]=Arr[3], 2!=3, count=2 Arr[2]=Arr[3]=-1 → [ -1,-1,-1,-1,2 ] Now array has no new pairs with equal values, i!=j and > -1. Total pairs=2
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা গ্লাভসের আকার> 0 এর জন্য এলোমেলো সংখ্যা সহ শুরু করা একটি পূর্ণসংখ্যা অ্যারে Arr[] নিই।
-
একটি পরিবর্তনশীল n নিন যা Arr[] এর দৈর্ঘ্য সংরক্ষণ করে।
-
ফাংশন কাউন্টপেয়ার্স(int arr[], int n) একটি অ্যারে নেয়, এটির দৈর্ঘ্য ইনপুট হিসাবে এবং সমান আকার এবং বিভিন্ন সূচক আছে এমন জোড়া ফেরত দেয়।
-
জোড়ার প্রতিটি উপাদানের জন্য লুপের জন্য দুটি ব্যবহার করে ট্রাভার্স অ্যারে।
-
0<=i
-
arr[i] এবং arr[j] ইতিবাচক কিনা তা পরীক্ষা করুন। যদি arr[i]==arr[j] তাহলে ইনক্রিমেন্ট কাউন্ট। (লুপে সেট করা শর্ত অনুসারে আমি কখনই j এর সমান হব না, তুলনা করার দরকার নেই)।
-
এখন তাদের আরও তুলনা থেকে সরিয়ে দিতে arr[i]=arr[j]=-1 সেট করুন।
-
সমস্ত লুপ গণনার শেষে মোট জোড়া গ্লাভস সংখ্যা থাকবে।
-
ফলাফল হিসাবে গণনা ফেরত দিন।
উদাহরণ
// C++ implementation of above approach #include <bits/stdc++.h> using namespace std; // Function to count equal elements to make pair of gloves int countPairs(int arr[], int n){ int count = 0; for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ if(arr[i]==arr[j] && arr[i]>0 && arr[j]>0){ count++; arr[i]=arr[j]=-1; } } } return count; } int main(){ int arr[] = { 1,2,4,2,1,2,4 }; int n = sizeof(arr) / sizeof(arr[0]); cout <<"Pair of gloves ( Equal element pairs ):"<<countPairs(arr, n); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেPair of gloves ( Equal element pairs ):3.