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

C++-এ তিনটি সর্টেড অ্যারের ইন্টারসেকশন


ধরা যাক তিনটি ইন্টিজার অ্যারে arr1, arr2 এবং arr3 আছে এবং এগুলো স্ট্রিক্টলি ইনক্রিজিং অর্ডারে সর্টেড। আমাদের শুধু সেই ইন্টিজারগুলো সহ একটি সর্টেড অ্যারে রিটার্ন করতে হবে যা এই তিনটি অ্যারেতে সবগুলোতে উপস্থিত। তাই যদি অ্যারেগুলো হয় [1,2,3,4,5], [1,2,5,7,9], এবং [1,3,4,5,8], তবে আউটপুট হবে [1,5]।

এটি সমাধান করার জন্য আমরা নিচের ধাপগুলো অনুসরণ করব:

  • res নামে একটি অ্যারে ডিফাইন করুন
  • f1, f2 এবং f3 নামে তিনটি ম্যাপ তৈরি করুন
  • i = 0 থেকে arr1-এর দৈর্ঘ্য পর্যন্ত
    • f1[arr1[i]] 1 দিয়ে বৃদ্ধি করুন
  • i = 0 থেকে arr2-এর দৈর্ঘ্য পর্যন্ত
    • f2[arr2[i]] 1 দিয়ে বৃদ্ধি করুন
  • i = 0 থেকে arr3-এর দৈর্ঘ্য পর্যন্ত
    • f3[arr3[i]] 1 দিয়ে বৃদ্ধি করুন
  • i = 1 থেকে 2000 পর্যন্ত
    • যদি f1[i] এবং f2[i] এবং f3[i] হয়, তবে
      • i res অ্যারেতে ইনসার্ট করুন
  • res রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখে আরও ভালো বুঝতে পারবেন:

#include <bits/stdc++.h> using namespace std; void print_vector(vector<auto> v){    cout << "[";    for(int i = 0; i<v.size(); i++){       cout << v[i] << ", ";    }    cout << "]"<<endl; } class Solution { public:    vector<int> arraysIntersection(vector<int>& arr1, vector<int>& arr2, vector<int>& arr3) {       vector <int> ans;       unordered_map <int,int> f1,f2,f3;       for(int i =0;i<arr1.size();i++){          f1[arr1[i]]++;       }       for(int i =0;i<arr2.size();i++){          f2[arr2[i]]++;       }       for(int i =0;i<arr3.size();i++){          f3[arr3[i]]++;       }       for(int i =1;i<=2000;i++){          if(f1[i] && f2[i] && f3[i])ans.push_back(i);       }       return ans;    } }; main(){    Solution ob;    vector<int> v1 = {1,2,3,4,5};    vector<int> v2 = {1,2,5,7,9};    vector<int> v3 = {1,3,4,5,8};    print_vector(ob.arraysIntersection(v1, v2, v3)); }

ইনপুট

[1,2,3,4,5] [1,2,5,7,9] [1,3,4,5,8]

আউটপুট

[1,5]

  1. জাভাস্ক্রিপ্টে তিনটি সর্টেড অ্যারের ইন্টারসেকশন (Intersection) বের করা

  2. সি/সি++-তে মাল্টিডাইমেনশনাল অ্যারে (Multidimensional Arrays)

  3. C++-এ ফাংশনে অ্যারে পাস করা: পয়েন্টার ও রেফারেন্স

  4. C++-এ অ্যারে (Array) ব্যবহার করার পদ্ধতি