How to useSimple Counting in Javascript
In this approach, we follow simple approach to find the length of the longest balanced subsequence in a string. It counts open and unmatched closing parentheses to determine the maximum length of a valid subsequence.
Example: In this example, the balancedSubsequence function counts valid open and close parentheses in a string s of length n while ignoring invalid close parentheses with no matching open parentheses. It returns the length of the longest balanced subsequence.
function balancedSubsequence(s, n) {
let invalidOpenBraces = 0;
let invalidCloseBraces = 0;
for (let i = 0; i < n; i++) {
if (s[i] == '(') {
invalidOpenBraces++;
} else {
if (invalidOpenBraces == 0) {
invalidCloseBraces++;
} else {
invalidOpenBraces--;
}
}
}
return n - (invalidOpenBraces + invalidCloseBraces);
}
let s = "()(((((()";
let n = s.length;
console.log(balancedSubsequence(s, n));
Output
4
JavaScript Program to Find the Length of Longest Balanced Subsequence
In this article, we are going to learn about the Length of the Longest Balanced Subsequence in JavaScript. The Length of the Longest Balanced Subsequence refers to the maximum number of characters in a string sequence that can form a valid balanced expression, consisting of matching opening and closing brackets.
Example:
Input : S = "()())"
Output : 4
()() is the longest balanced subsequence
of length 4.
Input : s = "()(((((()"
Output : 4
We will explore all the above methods along with their basic implementation with the help of examples.
Table of Content
- Using a stack with for ..of loop
- Using Simple Counting
- Using Two Pointers