Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में निहित अंतराल


मान लीजिए कि हमारे पास अंतरालों की एक द्वि-आयामी सूची है जहां प्रत्येक अंतराल के दो मान हैं [प्रारंभ, अंत]। हमें यह पता लगाना है कि क्या कोई अंतराल है जिसमें एक और अंतराल है।

इसलिए, यदि इनपुट [[2,4], [5,11], [5,9], [10,10]] जैसा है, तो आउटपुट सही होगा क्योंकि [5,11] में [5, 9].

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • सरणी को क्रमबद्ध करें v

  • एक 2डी सरणी रेट परिभाषित करें

  • प्रत्येक अंतराल के लिए इसे v −

    . में
    • अगर रिट खाली है, तो -

      • इसे रिट के अंत में डालें

    • अन्यथा जब रिट का अंतिम तत्व>=it[0], तब -

      • सही लौटें

    • अन्यथा

      • इसे रिट के अंत में डालें

  • झूठी वापसी

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#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. सी++ में जंप गेम वी

    मान लीजिए कि हमारे पास पूर्णांकों की एक सरणी है जिसे arr और एक पूर्णांक d कहा जाता है। एक चरण में हम इंडेक्स i से − . पर जा सकते हैं i + x जहां:i + x

  1. सी++ में अंतराल निकालें

    मान लीजिए कि हमारे पास अलग-अलग अंतरालों की एक क्रमबद्ध सूची है, प्रत्येक अंतराल अंतराल [i] =[a, b] संख्या x के समुच्चय को इस प्रकार दर्शाता है कि a <=x

  1. सी ++ में अंतराल सूची चौराहे

    मान लीजिए कि हमारे पास बंद अंतराल की दो सूचियां हैं, यहां अंतराल की प्रत्येक सूची जोड़ीदार असंबद्ध और क्रमबद्ध क्रम में है। हमें इन दो अंतराल सूचियों का प्रतिच्छेदन ज्ञात करना है। हम जानते हैं कि बंद अंतराल [ए, बी] को <=बी के रूप में दर्शाया गया है। एक <=x <=b के साथ वास्तविक संख्या x का समुच्चय। द