((())) (()()) (())() ()(()) ()()().
The solution below uses recursion. The logic here is very simple - every output is constructed starting with its first symbol. On each step a new symbol is added following these rules:
- rule 1: if the number of opened brackets is equal to the number of closing brackets, then the only next possible symbol to add is '('
- rule 2: if the number of opened brackets is more than the number of closing brackets, then there are two options - either we add ')' or '('
- rule 3: if the number of opened brackets is more than half the number of all brackets, then the construction went wrong and we break the whole case
- rule 4: if the number of opened brackets is less than the number of closing brackets, then the construction went wrong and we break the whole case
- rule 5: the last symbol of the output cannot be '('
private void Brackets(String output, int open, int close, int total) { if (output.length() == total * 2 && output.charAt(total * 2 - 1) != '(') { System.out.println(output); } else if (open > total || open < close) { return; } else { if ((open == close)) { Brackets(output + "(", open + 1, close, total); } if ((open > close)) { Brackets(output + "(", open + 1, close, total); Brackets(output + ")", open, close + 1, total); } } } public void Brackets(int total) { Brackets("", 0, 0, total); }
This is an Interview Question for Software Engineers at Google. Here you can find more information.
Following having a few days and nights with mid-major March Madness championship video games
ReplyDeleteclaiming the college or universityMarch Madness
Live field hockey spotlight, the Power 5 March Madness Live Stream conference tournaments commence to take center stage today. These kinds of are the games that
will help define the way the bubble and the back again end of the NCAA
March Madness Bracket Tournament bracket shakes away.
March Madness 2017
On Wednesday, Syracuse, Arkansas, March
Madness 2017 Live California, TCU, Ohio Condition, Wake Forest, 2017 March Madness Virginia Technical, Texas
Tech, Xavier and El monte all play video games NCAA March Madness that will either help solidify their
at-large berth/seed or make Selection On the more of an
troubled day. march madness schedule
One other quick note: I moved Gonzaga back up to the top seed line after a third thoroughly
impressive win over a very good Saint Mary's team in the WCC subject game. That's not
total, though. The Pac-12 event champion march madness schedule 2017 could easily end up there by the end of the week, particularly if the winner of the
Arizona/UCLA semifinal beats Or in it game.