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

सी++ में 132 पैटर्न

मान लीजिए कि हमारे पास n पूर्णांक a1, a2, ..., a का एक क्रम है, एक 132 पैटर्न एक अनुवर्ती ai, aj, ak है जैसे कि i

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

  • n :=अंकों का आकार, यदि n 0 है, तो झूठी वापसी करें

  • आकार n के minVals नामक एक सरणी को परिभाषित करें, minVals[0] :=nums[0]

    सेट करें
  • 1 से n - 1 की सीमा में I के लिए

    • minVals[i] :=न्यूनतम minVals[i - 1] और nums[i]

  • स्टैक सेंट बनाएं

  • मैं के लिए n - 1 से नीचे 1 तक की श्रेणी में हूं

    • minVal :=minVals[i – 1]

    • वक्र:=अंक [जे]

    • जबकि सेंट खाली नहीं है और ढेर के ऊपर <=minVal

      . है
      • स्टैक सेंट से हटाएं

    • यदि सेंट खाली नहीं है और स्टैक के ऊपर

    • nums[i] s में डालें

  • झूठी वापसी

उदाहरण (C++)

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

-->

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   bool find132pattern(vector<int>& nums) {
      int n = nums.size();
      if(!n) return false;
      vector <int> minVals(n);
      minVals[0] = nums[0];
      for(int i = 1; i < n; i++){
         minVals[i] = min(minVals[i - 1], nums[i]);
      }
      stack <int> s;
      for(int i = n - 1; i > 0; i--){
         int minVal = minVals[i - 1];
         int curr = nums[i];
         while(!s.empty() && s.top() <= minVal) s.pop();
         if(!s.empty() && s.top() < curr) return true;
         s.push(nums[i]);
      }
      return false;
   }
};
main(){
   vector<int> v = {-1,3,2,0};
   Solution ob;
   cout << (ob.find132pattern(v));
}

इनपुट

[-1,3,2,0]

आउटपुट

1

  1. C++ में संख्याओं के पैटर्न को प्रिंट करने का कार्यक्रम

    इस ट्यूटोरियल में, हम दिए गए नंबरों के पैटर्न को प्रिंट करने के प्रोग्राम पर चर्चा करेंगे। हमारा काम कोड में लूपिंग स्ट्रक्चर का उपयोग करना और दिए गए पैटर्न को प्रिंट करना है - 1 232 34543 4567654 567898765 उदाहरण #include<bits/stdc++.h> using namespace std; int main(){   &n

  1. C++ . में समग्र डिजाइन पैटर्न

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

  1. C++ सिंगलटन डिजाइन पैटर्न को समझाइए।

    सिंगलटन डिजाइन पैटर्न एक सॉफ्टवेयर डिजाइन सिद्धांत है जिसका उपयोग किसी वर्ग की तात्कालिकता को एक वस्तु तक सीमित करने के लिए किया जाता है। यह तब उपयोगी होता है जब पूरे सिस्टम में क्रियाओं के समन्वय के लिए एक वस्तु की आवश्यकता होती है। उदाहरण के लिए, यदि आप एक लकड़हारे का उपयोग कर रहे हैं, जो किसी फ़ा