Problem Statement
I advise them to use the following procedure, which makes the probability of either outcome equal: Flip the coin twice. If it flips heads the first time and tails the second time, then they watch "The Terminator"; if it flips tails the first time and heads the second time, then they watch "When Harry Met Sally". If it flips the same (heads or tails) both times, they repeat the procedure (they flip twice again).
Your task is, given a String representing the sequence of flip results, return the number of the flip (the flips are 1-indexed) after which they can choose a movie according to the protocol described above. If they can't choose return -1.
Definition
- Class:
- CoinFlip
- Method:
- decide
- Parameters:
- String
- Returns:
- int
- Method signature:
- int decide(String flips)
- (be sure your method is public)
Constraints
- flips has between 0 and 50 characters inclusive
- each character of flips is either an 'H', representing heads, or a 'T', representing tails.
Examples
""
Returns: -1
"HHTH"
Returns: 4
"TTHHTHHHTH"
Returns: 6
"TTHH"
Returns: -1
"TT"
Returns: -1
"HH"
Returns: -1
"TH"
Returns: 2
"HT"
Returns: 2
"HHHHHHHHHHTTTTTTTTTTHHHHHHHHHHTTTTTTTTTTHHHHHHHHHH"
Returns: -1
"HTHTHTHTHTHT"
Returns: 2
"HHTTHHTTHHTTHHTTHHTT"
Returns: -1
"HHTTHHTTHHTTHHTTHHTTTHHHTTHHTTHHTTHHTTHHTT"
Returns: 22
"HHTTHTHHHH"
Returns: 6
"TTHHTTTTTTTTHT"
Returns: 14
"TTTTTTTTTTTTHTTTTTTTTTTT"
Returns: 14
"T"
Returns: -1
"H"
Returns: -1
"TTT"
Returns: -1
"THH"
Returns: 2
"TTTTTTH"
Returns: -1
"HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"
Returns: -1
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT"
Returns: -1
"HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHT"
Returns: -1
"HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHT"
Returns: 50
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTH"
Returns: 50
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTH"
Returns: -1
"TTTHH"
Returns: 4
"T"
Returns: -1
"HH"
Returns: -1
"TTHHT"
Returns: -1
"TT"
Returns: -1
"HHH"
Returns: -1
""
Returns: -1
"H"
Returns: -1
"TTH"
Returns: -1
"HHHHH"
Returns: -1
"HHTTH"
Returns: -1
"HHT"
Returns: -1
"TTTHH"
Returns: 4
"HT"
Returns: 2
"TTT"
Returns: -1
"TTHHTTHH"
Returns: -1
"HTTH"
Returns: 2
"HTH"
Returns: 2