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

सबसे लंबे मान्य कोष्ठक ढूँढना JavaScript

<घंटा/>

केवल '(' और ')' वर्णों वाली एक स्ट्रिंग को देखते हुए, हम सबसे लंबे मान्य (अच्छी तरह से गठित) कोष्ठक सबस्ट्रिंग की लंबाई पाते हैं।

कोष्ठक का एक सेट एक अच्छी तरह से गठित कोष्ठक होने के योग्य होता है, अगर और केवल तभी, प्रत्येक उद्घाटन कोष्ठक के लिए, इसमें एक समापन कोष्ठक होता है।

उदाहरण के लिए -

'(())()' is a well-formed parentheses
'())' is not a well-formed parentheses
'()()()' is a well-formed parentheses

उदाहरण

const str = '(())()(((';
   const longestValidParentheses = (str = '') => {
      var ts = str.split('');
      var stack = [], max = 0;
      ts.forEach((el, ind) => {
         if (el == '(') {
            stack.push(ind);
         }
      else {
         if (stack.length === 0 || ts[stack[stack.length - 1]] == ')'){
            stack.push(ind);
         }
         else {
            stack.pop();
         };
      }
   });
   stack.push(ts.length);
   stack.splice(0, 0, -1);
   for (let ind = 0;
   ind< stack.length - 1; ind++) {
      let v = stack[ind+1] - stack[ind] - 1; max = Math.max(max, v);
   };
   return max;
}; console.log(longestValidParentheses(str));

आउटपुट

और कंसोल में आउटपुट होगा -

6

  1. जावास्क्रिप्ट में सरणी में सबसे लंबे समय तक सबस्ट्रिंग असामान्य ढूँढना

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

  1. जावास्क्रिप्ट का उपयोग करके सबसे लंबे गैर-ऋणात्मक योग अनुक्रम ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता होती है जो पूर्णांकों के अनुक्रम वाली एक सरणी लेता है, जिसके प्रत्येक तत्व में -1 और 1 के बीच का संभावित मान होता है। हमारे फ़ंक्शन को उस क्रम के सबसे लंबे उप-अनुभाग का आकार शून्य या अधिक के योग के साथ वापस करना चाहिए। उदाहरण निम्नलिखित कोड ह

  1. जावास्क्रिप्ट का उपयोग करके एक स्ट्रिंग में सबसे लंबे स्वर सबस्ट्रिंग की लंबाई ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है। हमारे फ़ंक्शन को सबसे लंबे सन्निहित विकल्प की लंबाई लौटानी चाहिए जिसमें केवल स्वर हों। उदाहरण निम्नलिखित कोड है - { let cur =0 let max =0 for (let i =0; i आउटपुट 4