কম্পিউটার

C++ এ একটি অ্যারেতে অ-পুনরাবৃত্ত (স্বতন্ত্র) উপাদানগুলির সমষ্টি খুঁজুন


আমরা কয়েকটি উপাদান সহ একটি অ্যারে A আছে বিবেচনা করুন. আমাদের অ্যারের সমস্ত স্বতন্ত্র উপাদানের যোগফল খুঁজে বের করতে হবে। তাই যদি A =[5, 12, 63, 5, 33, 47, 12, 63], তাহলে স্বতন্ত্র উপাদানের যোগফল হল 160। ডুপ্লিকেট উপাদানগুলি একবার বিবেচনা করার পরে উপেক্ষা করা হয়।

আমরা দক্ষতার সাথে এই সমস্যা সমাধান করতে unordered সেট ব্যবহার করতে পারেন. আমরা লুপের জন্য একটি একক চালাব এবং কোন মানটি প্রথমবার আসে, এটি যোগ ভেরিয়েবলে যোগ করে এবং হ্যাশ টেবিলে সংরক্ষণ করে যা পরবর্তী সময়ের জন্য, আমরা এই মানটি ব্যবহার করব না।

উদাহরণ

#include<iostream>
#include<unordered_set>
using namespace std;
int getNonRepeatSum(int arr[],int n) {
   int sum = 0;
   unordered_set< int > u_set;
   for (int i=0; i<n; i++) {
      if (u_set.find(arr[i]) == u_set.end()) {
         sum += arr[i];
         u_set.insert(arr[i]);
      }
   }
   return sum;
}
int main() {
   int arr[] = {5, 12, 63, 5, 33, 47, 12, 63};
   int n = sizeof(arr)/sizeof(int);
   cout << "Sum is: " << getNonRepeatSum(arr, n);
}

আউটপুট

Sum is: 160

  1. C++ এ তিনটি সাজানো অ্যারেতে সাধারণ উপাদান খুঁজুন

  2. C++ এ একটি প্রদত্ত মানের k নিকটতম উপাদান খুঁজুন

  3. C++ এ একটি অ্যারের সমস্ত স্বতন্ত্র উপসেট (বা পরবর্তী) যোগফল খুঁজুন

  4. অদলবদল করা উপাদানগুলির একটি জোড়া খুঁজুন যা C++ এ দুটি অ্যারের সমষ্টিকে সমান করে তোলে