Thursday, 9 November 2017

Find an Equal Point In a String of Brackets ?

package com.test.jip.basic;

/**
 * Find an Equal Point in a String of Brackets
 *
 * @author:http://javainterviewprograms.blogspot.in/
 *
 */

public class FindEqualPointInStringBrackets {

          public static void main(String[] args) {

                   // String str = "(()))(()()())))";

                   String str = "(())))(";

                   // String str = "((((";

                   System.out.println(findEqualPoint(str.toCharArray()));

          }

          private static int findEqualPoint(char[] str) {

                   int leftCount = 0;
                   int rightCount = 0;

                   for (int i = 0; i < str.length; i++) {
                             if (str[i] == ')')
                                      rightCount++;
                   }

                   int originalRightCount = rightCount;

                   for (int i = 0; i < str.length; i++) {

                             if (str[i] == '(')
                                      leftCount++;

                             else {

                                      if (leftCount == rightCount) {
                                                System.out.println(i);
                                                return i;
                                      } else {
                                                rightCount--;
                                      }
                             }

                   }

                   rightCount = originalRightCount;

                   if (rightCount == 0)
                             return 0;
                   else
                             return str.length;
          }

}

Output: 4

No comments:

Post a Comment

Difference between final, finally and finalize()?

final :Final is a keyword. Final is used to apply restrictions on class, method and variable. Final class can't be inherited, final ...