কম্পিউটার

প্রদত্ত পণ্যের সাথে একটি জোড়া C++ এ লিঙ্কযুক্ত তালিকায় বিদ্যমান কিনা তা পরীক্ষা করুন


আমরা উপাদান একটি সেট আছে. এবং একটি পণ্য K। কাজ হল লিঙ্ক করা তালিকায় দুটি সংখ্যা আছে কিনা তা পরীক্ষা করা, যার গুণফল K-এর মতই। যদি দুটি সংখ্যা থাকে, তাহলে সেগুলি প্রিন্ট করুন, যদি দুটি সংখ্যার বেশি থাকে, তাহলে তাদের যেকোনো একটি প্রিন্ট করুন। . ধরুন লিঙ্ক করা তালিকাটি এই রকম {2, 4, 8, 12, 15}, এবং k মান হল 16৷ তাহলে এটি (2, 8) ফিরে আসবে

আমরা হ্যাশিং কৌশল ব্যবহার করে এটি সমাধান করব। একটি হ্যাশ টেবিল নিন, এবং সমস্ত উপাদানগুলিকে 0 হিসাবে চিহ্নিত করুন৷ এখন হ্যাশ টেবিলে সমস্ত উপাদানগুলিকে 1 হিসাবে পুনরাবৃত্তভাবে চিহ্নিত করুন, যদি এটি লিঙ্কযুক্ত তালিকায় উপস্থিত থাকে। এখন লিঙ্কযুক্ত তালিকাটি অতিক্রম করা শুরু করুন এবং প্রদত্ত পণ্যটি বর্তমান উপাদান দ্বারা বিভাজ্য কিনা তা পরীক্ষা করুন। যদি হ্যাঁ, তাহলে হ্যাশ টেবিলে লিঙ্ক করা তালিকার (কে/বর্তমান উপাদান) উপস্থিত আছে কিনা তা পরীক্ষা করুন।

উদাহরণ

#include <unordered_set>
#define MAX 100000
using namespace std;
class Node {
   public:
   int data;
   Node* next;
};
void append(struct Node** start, int key) {
   Node* new_node = new Node;
   new_node->data = key;
   new_node->next = (*start);
   (*start) = new_node;
}
bool isPairPresent(Node* start, int K) {
   unordered_set<int> s;
   Node* p = start;
   while (p != NULL) {
      int current = p->data;
      if ((K % current == 0) && (s.find(K / current) != s.end())) {
         cout << current << " " << K / current;
         return true;
      }
      s.insert(p->data);
      p = p->next;
   }
   return false;
}
int main() {
   Node* start = NULL;
   int arr[] = {2, 4, 8, 12, 15};
   int n = sizeof(arr)/sizeof(arr[0]);
   for(int i = 0; i<n; i++){
      append(&start, arr[i]);
   }
   if (isPairPresent(start, 16) == false)
   cout << "NO PAIR EXIST";
}

আউটপুট

2 8

  1. একটি লিঙ্ক করা তালিকা C++ এ সার্কুলার লিঙ্কড তালিকা কিনা তা পরীক্ষা করুন

  2. C++ এ প্রদত্ত পণ্যের সাথে N পূর্ণসংখ্যার সর্বাধিক GCD

  3. একটি প্রদত্ত গ্রাফে একটি হ্যামিলটোনিয়ান চক্র বা পথ বিদ্যমান কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম

  4. পাইথনের একটি অ্যারেতে প্রদত্ত পণ্য সহ সাবয়ারে বিদ্যমান কিনা তা পরীক্ষা করুন