কম্পিউটার

জাভাস্ক্রিপ্টের দীর্ঘতম বৈধ বন্ধনী খোঁজা


শুধুমাত্র '(' এবং ')' অক্ষর সম্বলিত একটি স্ট্রিং দেওয়া হলে, আমরা দীর্ঘতম বৈধ (সুগঠিত) বন্ধনী সাবস্ট্রিংয়ের দৈর্ঘ্য খুঁজে পাই।

বন্ধনীর একটি সেট একটি সুগঠিত বন্ধনী হওয়ার যোগ্যতা রাখে, যদি এবং শুধুমাত্র যদি, প্রতিটি খোলার বন্ধনীর জন্য, এতে একটি বন্ধ বন্ধনী থাকে।

যেমন −

'(())()' 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. জাভাস্ক্রিপ্টে ম্যাট্রিক্সে 1s-এর দীর্ঘতম লাইন খোঁজা

  2. জাভাস্ক্রিপ্টে অ্যারেতে অস্বাভাবিক দীর্ঘতম সাবস্ট্রিং খোঁজা

  3. জাভাস্ক্রিপ্ট ব্যবহার করে দীর্ঘতম অ-নেতিবাচক যোগফলের ক্রম খোঁজা

  4. জাভাস্ক্রিপ্ট ব্যবহার করে একটি স্ট্রিং-এ দীর্ঘতম স্বরবর্ণ সাবস্ট্রিং-এর দৈর্ঘ্য খুঁজে বের করা