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

जाँच करें कि क्या C++ में दिए गए अंतरालों के सेट के बीच कोई दो अंतराल ओवरलैप होते हैं

मान लीजिए, हमें अंतराल का एक सेट दिया गया है जिसमें मान (समय 1, समय 2) शामिल हैं, जहां समय 1 प्रारंभिक समय का प्रतिनिधित्व करता है, और समय 2 किसी घटना के समाप्ति समय का प्रतिनिधित्व करता है। हमारा काम यह जांचना है कि इनमें से कोई भी अंतराल इस सेट में किसी अन्य अंतराल को ओवरलैप करता है या नहीं। यदि कोई अंतराल ओवरलैप होता है, तो हम परिणाम को सही के रूप में लौटाते हैं, अन्यथा हम गलत लौटाते हैं।

इसलिए, अगर इनपुट [(4,7), (5,11), (7,11), (5,8)] जैसा है, तो आउटपुट सही होगा।

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

  • सूची को क्रमबद्ध करें inputArr
  • इनपुट 1 से लेकर इनपुट के आकार तक के लिए, करें
    • अगर inputArr [i - 1].time2> inputArr[i].time1 तो
      • सही लौटें
    • झूठी वापसी

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class IntervalClass {
public:
   int time1, time2;
};
bool compare(IntervalClass inst1, IntervalClass inst2){
   return (inst1.time1 < inst2.time1) ? true : false;
}
bool solve(vector<IntervalClass> &inputArr){
   int size = inputArr.size();
   sort(inputArr.begin(), inputArr.end(), compare);
   for (int i = 1; i < size; i++)
      if (inputArr[i - 1].time2 > inputArr[i].time1)
         return true;
   return false;
}
int main(){
   vector<IntervalClass> inputArr = {{4,7},{5,11},{7,11},{5,8}};
   int size = sizeof(inputArr) / sizeof(inputArr[0]);
   cout << solve(inputArr);
}

इनपुट

{{4,7},{5,11},{7,11},{5,8}}

आउटपुट

1

  1. जांचें कि दी गई स्ट्रिंग सी ++ में मान्य संख्या है या नहीं

    अवधारणा यदि दी गई स्ट्रिंग संख्यात्मक है तो इसे सत्यापित किया जाना चाहिए। इनपुट - str =12.5 आउटपुट - सच इनपुट - str =डीफ़ आउटपुट - झूठा इनपुट - str =2e5 आउटपुट - सच इनपुट -10e4.4 आउटपुट - झूठा विधि हमें कोड में निम्नलिखित मामलों को संभालना है। हमें प्रमुख और पिछली सफेद जगहों को अनदेखा क

  1. जांचें कि दिया गया बाइनरी ट्री सी ++ में हीप है या नहीं

    अवधारणा किसी दिए गए बाइनरी ट्री के संबंध में, हमें यह सत्यापित करने की आवश्यकता है कि इसमें हीप प्रॉपर्टी है या नहीं, बाइनरी ट्री को हीप होने के लिए निम्नलिखित दो शर्तों को पूरा करने की आवश्यकता है - बाइनरी ट्री एक पूर्ण वृक्ष होना चाहिए (अर्थात अंतिम को छोड़कर सभी स्तर पूर्ण होने चाहिए)। बाइ

  1. जाँच करें कि क्या दिया गया बाइनरी ट्री C++ में SumTree है

    यहां हम देखेंगे कि कैसे जांचा जाए कि बाइनरी ट्री सम-ट्री है या नहीं। अब प्रश्न यह है कि योग वृक्ष क्या है। सम-ट्री एक बाइनरी ट्री है जहाँ एक नोड अपने बच्चों का योग मान रखेगा। पेड़ की जड़ में उसके नीचे के सभी तत्वों का योग होगा। यह सम-वृक्ष का उदाहरण है - इसे चेक करने के लिए हम एक आसान सी ट्रिक अप