Search

Score of Parentheses

Updated: Mar 25, 2021

Given a balanced parentheses string S, compute the score of the string based on the following rule:

  • () has score 1

  • AB has score A + B, where A and B are balanced parentheses strings.

  • (A) has score 2 * A, where A is a balanced parentheses string.


Example 1: Input: "()"Output: 1 Example 2: Input: "(())"Output: 2 Example 3: Input: "()()"Output: 2 Example 4: Input: "(()(()))"Output: 6 Note:

  1. S is a balanced parentheses string, containing only ( and ).

  2. 2 <= S.length <= 50

Solution:


class Solution {
    public int scoreOfParentheses(String S) {
        int ans=0,bal=0;
        for(int i=0;i<S.length();i++)
        {
            if(S.charAt(i)=='(')
            {
                bal++;
            }
            else
            {
                bal--;
                if(S.charAt(i-1)=='(')
                ans+=Math.pow(2,bal);
            }

        }
        return ans;
    }
}

37 views0 comments

Recent Posts

See All

A string s is called good if there are no two different characters in s that have the same frequency. Given a string s, return the minimum number of characters you need to delete to make s good. The f

The numeric value of a lowercase character is defined as its position (1-indexed) in the alphabet, so the numeric value of a is 1, the numeric value of b is 2, the numeric value of c is 3, and so on.