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

C++-এ দুটি লিস্টের ন্যূনতম ইন্ডেক্স যোগফল (Minimum Index Sum of Two Lists)

দুটি বন্ধু আমল ও বিমাল রেস্টুরেন্ট বেছে নিতে চান। উভয়ের প্রিয় রেস্টুরেন্টের লিস্ট স্ট্রিং আকারে দেওয়া আছে। তাদের সাধারণ আগ্রহ যেটির লিস্ট ইন্ডেক্স যোগফল ন্যূনতম, সেটি বের করতে হবে। টাই হলে সব রিটার্ন করুন।

ইনপুট ["ABC","PQR","MNO","XYZ"] এবং ["TUV","GHI","KLM","ABC"] হলে আউটপুট ["ABC"]।

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

  • mp ম্যাপ সংজ্ঞায়িত করুন (key: ইন্ডেক্স যোগফল, value: স্ট্রিং লিস্ট)
  • least := INF
  • প্রতিটি i ∈ l1, j ∈ l2 এর জন্য: l1[i]==l2[j] হলে mp[i+j]-এ l1[i] পুশ করুন
  • res অ্যারে সংজ্ঞায়িত করুন
  • it := mp.begin() (সবচেয়ে ছোট key)
  • res := it->second
  • res রিটার্ন করুন

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<auto> v){
    cout << "[";
    for(int i = 0; isecond;
        return res;
    }
};
int main(){
    Solution ob;
    vector<string> v = {"ABC","PQR","MNO","XYZ"}, v1 = {"TUV","GHI","KLM","ABC"};
    print_vector(ob.findRestaurant(v, v1));
}

ইনপুট

{"ABC","PQR","MNO","XYZ"}, {"TUV","GHI","KLM","ABC"}

আউটপুট

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

  2. C++-এ BST-এ Two Sum IV (Two Sum IV - Input is a BST)

  3. C++-এ দুটি লিস্টের কমন এলিমেন্টের ন্যূনতম ইন্ডেক্স সম বের করা

  4. C++ প্রোগ্রাম: দুটি সংখ্যা যোগ করা (Addition)