কম্পিউটার

C++ এ দুটি অ্যারের মধ্যে সামঞ্জস্যের পার্থক্য খুঁজুন


বিবেচনা করুন দুটি বন্ধু আছে এবং এখন তারা তাদের বন্ধন পরীক্ষা করতে চায়। তাই তারা যাচাই করবে, তারা কতটা সামঞ্জস্যপূর্ণ। n নম্বর দেওয়া, 1..n থেকে সংখ্যা করা হয়েছে। এবং তাদের নম্বরগুলি র‌্যাঙ্ক করতে বলা হয়। তাদের মধ্যে সামঞ্জস্যের পার্থক্য খুঁজে বের করতে হবে। সামঞ্জস্যের পার্থক্য মূলত তাদের দেওয়া একই মুভির আপেক্ষিক র‌্যাঙ্কিংয়ে অমিলের সংখ্যা। সুতরাং যদি A =[3, 1, 2, 4, 5], এবং B =[3, 2, 4, 1, 5] হয়, তাহলে আউটপুট হবে 2। সামঞ্জস্যের পার্থক্য হল 2, যেমন প্রথম র‍্যাঙ্ক মুভি 1 এর আগে। 2 এবং 4, কিন্তু অন্যরা এটিকে পরে রাখে।

এটি সমাধান করার জন্য, আমরা উভয় অ্যারে অতিক্রম করব, যখন বর্তমান উপাদান একই হবে, তখন কিছুই করবেন না। তারপর A এবং B এর পরবর্তী অবস্থান খুঁজুন, অবস্থানটি j হতে দিন, একে একে B[j] থেকে B[i]

উদাহরণ

#include<iostream>
using namespace std;

int getArrayDiff(int A[], int B[], int n) {
   int result = 0;

   for (int i = 0; i < n; i++) {
      if (A[i] != B[i]) {

         int j = i + 1;
         while (A[i] != B[j])      
         j++;

         while (j != i) {
            swap(B[j], B[j - 1]);
            j--;
            result++;
         }
      }
   }
   return result;
}

int main() {
   int A[] = { 3, 1, 2, 4, 5 };
   int B[] = { 3, 2, 4, 1, 5 };
   int n = sizeof(A)/sizeof(A[0]);

   cout << "Compatibility difference: " << getArrayDiff(A, B, n);
}

আউটপুট

Compatibility difference: 2

  1. কনসার্টের সময়কালের মধ্যে ন্যূনতম পার্থক্য খুঁজে পেতে C++ কোড

  2. C++ ব্যবহার করে দুটি অ্যারের ওভারল্যাপিং যোগফল খুঁজুন

  3. C++ এ দুটি সাজানো না করা অ্যারের ইউনিয়ন এবং ছেদ খুঁজুন

  4. C++ এ দুটি ভিন্ন ভাল নোডের যেকোনো জোড়ার মধ্যে সবচেয়ে কম দূরত্ব খুঁজুন