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

C++-এ دو অ্যারের ইন্টারসেকশন (Intersection of Two Arrays)


দুটি অ্যারে দেওয়া আছে। তাদের ইন্টারসেকশন (সাধারণ উপাদানগুলো) বের করুন।

উদাহরণ: [1,5,3,6,9], [2,8,9,6,7] হলে আউটপুট [9,6]।

সমাধানের ধাপসমূহ

  • দুটি ম্যাপ mp1, mp2 এবং রেজাল্ট অ্যারে res।
  • nums1-এর উপাদানগুলো mp1-এ, nums2-এর mp2-এ কাউন্ট করুন।
  • mp1-এর প্রতিটি কী x için: cnt = min(mp1[x], mp2[x])। যদি cnt > 0, res-এ x যোগ করুন।
  • res রিটার্ন করুন।

C++ কোড উদাহরণ

#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> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_map<int, int> mp1, mp2;
        vector<int> res;
        for (auto x : nums1) mp1[x]++;
        for (auto x : nums2) mp2[x]++;
        for (auto x : mp1) {
            int cnt = min(x.second, mp2[x.first]);
            if (cnt > 0) res.push_back(x.first);
        }
        return res;
    }
};

int main() {
    Solution ob;
    vector<int> v = {1,5,3,6,9}, v1 = {2,8,9,6,7};
    print_vector(ob.intersection(v, v1));
    return 0;
}

ইনপুট

{1,5,3,6,9},{2,8,9,6,7}

আউটপুট

[9, 6, ]
  1. JavaScript-এ দুটি অ্যারের ইন্টারসেকশন (Intersection) বের করা

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

  3. সি++-এ দুটি সর্টেড অ্যারের মার্জ করায় K-তম উপাদান বের করা

  4. C++-এ দুটি লিঙ্কড লিস্টের ইন্টারসেকশন পয়েন্ট খুঁজে বের করা