কম্পিউটার

C++ এর মধ্যে ব্যবধান রয়েছে


ধরুন আমাদের কাছে একটি দ্বি-মাত্রিক ব্যবধানের তালিকা রয়েছে যেখানে প্রতিটি ব্যবধানের দুটি মান রয়েছে [শুরু, শেষ]। আমাদের খুঁজে বের করতে হবে এমন একটি ব্যবধান আছে যা অন্য একটি ব্যবধান রয়েছে।

সুতরাং, যদি ইনপুটটি [[2,4],[5,11],[5,9],[10,10]] এর মতো হয়, তাহলে আউটপুটটি সত্য হবে কারণ [5,11] এর মধ্যে [5, 9]।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • অ্যারে সাজান v

  • একটি 2D অ্যারে ret সংজ্ঞায়িত করুন

  • প্রতিটি ব্যবধানের জন্য এটি v −

    • যদি ret খালি হয়, তাহলে -

      • ret এর শেষে ঢোকান

    • অন্যথায় যখন ret>=it[0] এর শেষ উপাদান, তারপর −

      • প্রত্যাবর্তন সত্য

    • অন্যথায়

      • ret এর শেষে ঢোকান

  • ফেরত মিথ্যা

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   bool static cmp(vector<int> &a, vector<int> &b) {
      return a[1] == b[1] ? a[0] > b[0] : a[1] < b[1];
   }
   bool solve(vector<vector<int>> &v) {
      sort(v.begin(), v.end(), cmp);
      vector<vector<int>> ret;
      for (auto &it : v) {
         if (ret.empty())
         ret.push_back(it);
         else if (ret.back()[0] >= it[0])
         return true;
         else
         ret.push_back(it);
      }
      return false;
   }
};
main() {
   Solution ob;
   vector<vector<int>> v = {{2,4},{5,11},{5,9},{10,10}};
   cout << (ob.solve(v));
}

ইনপুট

{{2,4},{5,11},{5,9},{10,10}}

আউটপুট

1

  1. C++ এ গেম ভি জাম্প করুন

  2. C++ এ চারটি বিভাজক

  3. C++ এ ব্যবধান সরান

  4. C++ এ অন্তর্বর্তী তালিকা ছেদ