शेष वर्ण। अंत से स्कैन करें, z = अनुगामी ')' की गिनती, खराब यदि 2*z > n।">
 Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ प्रोग्राम: जांचें कि दी गई स्ट्रिंग खराब है या नहीं


मान लीजिए हमारे पास n वर्णों वाली एक स्ट्रिंग S है। S में लोअरकेस अंग्रेजी अक्षर और ')' वर्ण हैं। स्ट्रिंग खराब है, यदि अंत में ')' वर्णों की संख्या शेष वर्णों की संख्या से सख्ती से अधिक है। हमें जांचना है कि S खराब है या नहीं।

उदाहरण के लिए, यदि इनपुट S = "fega))))))" है, तो आउटपुट True होगा, क्योंकि यह खराब है क्योंकि 4 अक्षर और 6 ')' हैं।

चरण

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

ans := 0 n := size of S i := n - 1 while (i >= 0 and S[i] is same as ')'), do:    (decrease i by 1) z := n - 1 - i ans := 2 * z - n if ans > 0, then:    return true Otherwise    return false

उदाहरण

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

#include <bits/stdc++.h> using namespace std; bool solve(string S) {    int ans = 0;    int n = S.size();    int i = n - 1;    while (i >= 0 && S[i] == ')')       i--;    int z = n - 1 - i;    ans = 2 * z - n;    if (ans > 0)       return true;    else       return false; } int main() {    string S = "fega))))))";    cout << solve(S) << endl; }

इनपुट

"fega))))))"

आउटपुट

1
  1. C++ में जांचें कि बाइनरी ट्री ऊंचाई-संतुलित है या नहीं C++ में जांचें कि बाइनरी ट्री ऊंचाई-संतुलित है या नहीं

    एक बाइनरी ट्री ऊंचाई-संतुलित (height-balanced) होता है यदि प्रत्येक नोड के लिए उसके बाएं और दाएं सबट्री की ऊंचाई का निरपेक्ष अंतर 0 या 1 हो। दिए गए ट्री के लिए आउटपुट true (1) है। समाधान दृष्टिकोण (पोस्ट-ऑर्डर DFS) एक ग्लोबल फ्लैग ret = true रखें। dfs(node) फंक्शन नोड की ऊंचाई वापस करता है: यदि न

  1. C++ प्रोग्राम: जांचें कि क्या एक ग्राफ दृढ़ता से जुड़ा हुआ है या नहीं C++ प्रोग्राम: जांचें कि क्या एक ग्राफ दृढ़ता से जुड़ा हुआ है या नहीं

    निर्देशित ग्राफ में घटकों को दृढ़ता से जुड़ा हुआ कहा जाता है, जब एक घटक में वर्टेक्स के प्रत्येक जोड़े के बीच एक पथ होता है। इस एल्गोरिदम को हल करने के लिए, पहले, प्रत्येक वर्टेक्स का फिनिश टाइम प्राप्त करने के लिए DFS एल्गोरिदम का उपयोग किया जाता है, अब ट्रांसपोज़्ड ग्राफ का फिनिश टाइम ढूंढें, फि

  1. पायथन प्रोग्राम: जांचें कि दी गई स्ट्रिंग कीवर्ड है या नहीं पायथन प्रोग्राम: जांचें कि दी गई स्ट्रिंग कीवर्ड है या नहीं

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक स्ट्रिंग दी गई है, हमें जांचना है कि यह स्ट्रिंग पायथन का कीवर्ड है या नहीं। कीवर्ड किसी भी भाषा द्वारा आरक्षित विशेष शब्द होते हैं जिनका विशिष्ट उपयोग होता है और उन्हें पहचानकर्ता के रूप में उपयोग नहीं किया जा सकता। यह जां