Problem Statement
Little Elephant from the Zoo of Lviv likes balls. He has some balls arranged in a row. Each of those balls has one of three possible colors: red, green, or blue.
You are given a
Little Elephant wants to obtain a row in which all balls have the same color. Return the smallest number of turns in which this can be done.
Definition
- Class:
- LittleElephantAndBallsAgain
- Method:
- getNumber
- Parameters:
- String
- Returns:
- int
- Method signature:
- int getNumber(String S)
- (be sure your method is public)
Constraints
- S will contain between 1 and 50 characters, inclusive.
- S will consist only of characters 'R', 'G' and 'B'.
Examples
"RRGGBB"
Returns: 4
One possible optimal solution is to remove 2 balls from the front and 2 from the back. The total number of turns is 2+2 = 4. After those 4 turns only green balls remained on the table.
"R"
Returns: 0
You don't need to do any turns in this case, so the answer is 0.
"RGBRGB"
Returns: 5
In any optimal solution only one of these six balls will remain on the table.
"RGGGBB"
Returns: 3
"RGBRBRGRGRBBBGRBRBRGBGBBBGRGBBBBRGBGRRGGRRRGRBBBBR"
Returns: 46
"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"
Returns: 0
"GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"
Returns: 0
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
Returns: 0
"BGGBGRRGBBBGRGBGBRRRRBRGGRBBBBRBRRGBGGRBRB"
Returns: 38
"RBRGBGBBGRRGBRGGGBBRRGGBGGBRBRGBRR"
Returns: 31
"BRBRGRBGBBGRRBGBGBRRBRBGRRRRBBRBBBGRRBRRRGRB"
Returns: 40
"BBRGBGBGRGGGRBGRGBRRBBGBBRBGBGRBRBRBG"
Returns: 34
"RBBRGRBBGB"
Returns: 8
"GRRRRRGGRBGRBRBGBBGRGBRRB"
Returns: 20
"GBBBRBBGBGRBGR"
Returns: 11
"GBRGRRGRGBBRRRRBBBBBGGRRGGBBGBBBRGGRBRBRRBGBBBGRRR"
Returns: 45
"RBRGBBRGBBBBBRGBRRRRGGGBGGGRRGBBRBBBRGRBGBGGBGRGRB"
Returns: 45
"GGGGGGRGGBRGBGBGBRRGBGBBBGRGRBBBBRGGRGGGRBGGRBGBBB"
Returns: 44
"RRBRBBRGRGBBBGBRBBGBGBRRBRBGBBGRBGBBGBBRBBGBGBRGGG"
Returns: 47
"BRGRRBRBBGBBBGBBRBBGGBGBBBGGBBGRBGBGBGGBGRGBGRBGGR"
Returns: 47
"RGBGBRBGRRRGGRGRBRGGBGBBGRBBGGBGGGGBGGRRBRGRBBGBGB"
Returns: 46
"RGGGGBBRRGBGGBRBBGGBRRRRGRGRGGRGGGRBRRRGRRGRBBGBRR"
Returns: 46
"BRRGBGGRBBRBGRGGBBBRBBGBRGBRBRGGRRBBBRBGGRGGRGBBBR"
Returns: 47
"RGBRGGRBBRG"
Returns: 9
"GRGRGRRBRGGBRBGRBRBGGBGRRGRRGGGGRRGBRRBBGRBGGRRBRB"
Returns: 46
"GRRRRGGGGRRGRRGRGGGRRRGRGGGRGRGRRRGGRRRGRGGGGGRGGG"
Returns: 45
"GGRGGGGGGRRRRGRRRRRGGRRRGRGGRGRGGRRGGGRRGRRGGGGGRR"
Returns: 44
"RRGGRRRRRRGGRGRRGGGRRGRRRRRRRGGGRGGGGRRRRRGGRRRRGR"
Returns: 43
"RGRRRGGGRRRRRRGGRGRGGRGGRRGRRRGGGRGRGGGGGRRGGRGRRG"
Returns: 44
"GRRGGGGGGGRRGRGGGGRGRRRRGRRRRGGGGGRRGRGRRGGRGRGGRR"
Returns: 43
"RBBRBBBBBRBRBRRBBRRRBBRBRBBRRRRRBBRRRBRBRBBRBRBBRB"
Returns: 45
"RRRRBBBRRRRBRRRBRRRBRRBRBRBRRRBRBBRBRRBRRRRBRRRRBB"
Returns: 46
"RRBRRRRRBRRRRBBRBRBRBRBRRBBRBRRRBRBBRBRRRRRRBRBBBB"
Returns: 44
"BRRRBRBRBRBBRBRBBRBRBRBRRRBBBBBRBBRRRRBBRBRRRRRRBR"
Returns: 44
"BBBBBBBBBRRBBRRBRBRBBBBRRRBRRRRRBRRRBBRRRRBRRRBRBB"
Returns: 41
"BBGGBGBGGBGGGBGBGBBGGGBGBGGGBGBGGGBBBGBGBGBGGGGBGG"
Returns: 46
"BGGBBBGBGGBGBGBGBBGBBGBGBGBBBBGGBGBGGBBBBBBGGGGBGB"
Returns: 44
"GGGBGBBBBBBBGGGGGBGGBGBGBGGGGGGBGBBBGBBGGGGBBGBGBB"
Returns: 43
"BGGBGGGGGBGGBGBBGGGGBGGGGBGBGGBBBBBBGGGBBGBBGGGBBG"
Returns: 44
"BGGBBBBGGBGBGGGBBBGBBGGBGBBBBBGBGGGGGBGBBBGGGGBGBB"
Returns: 45
"GGGGGGGBGGGBGGGGGGGGGGGGBGGGGGGGBBGGGGGGRGGGGGGGGG"
Returns: 38
"GGGGRGGGGGRGBGGGGGGGGGGGGGGGGGGGGGGGBBGGRGGGGGGGBG"
Returns: 27
"RGGGGRGGRGGGGGGGBGGGRGGBGGRGRRGGRGGGGGGGGGGGGBGGGB"
Returns: 38
"RBRRRRRRRRRRRRRRRRBBRRBRBRRBRBRRRRRRRRRRRBRBBRRRRR"
Returns: 34
"RBBRRBRBRRRBRRRBRRRRRRRRRRBRBRRRRRRRRRRRBRRBBRRBRR"
Returns: 39
"BBRRRBRBBRBRRRBRRRRRRBBRRBRRRRRBRBRRRRRRRRRRRBBRRR"
Returns: 39
"RGGBBB"
Returns: 3
"GGGBRR"
Returns: 3
"RRRRRRRRRRBBBBBBBBBBGGGGGGGGGGG"
Returns: 20
"RGRRR"
Returns: 2
"RGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRG"
Returns: 49
"RRGGG"
Returns: 2
"GBB"
Returns: 1
"RGBBB"
Returns: 2
"RRRRRRRRR"
Returns: 0
"RRRR"
Returns: 0
"RR"
Returns: 0
"RGGG"
Returns: 1
"RRGGGBB"
Returns: 4
"RRRRRRR"
Returns: 0
"BBBBBBBBBBB"
Returns: 0
"GGBBBB"
Returns: 2
"RRRRRRRRRR"
Returns: 0
"RRRRRR"
Returns: 0
"RRR"
Returns: 0
"GGGR"
Returns: 1
"GGGGGGG"
Returns: 0
"BRGBBBBBB"
Returns: 3
"RRRGGR"
Returns: 3
"BBRRRRRRRRRRRR"
Returns: 2
"GRRGGG"
Returns: 3
"GGGBBBBBGGGG"
Returns: 7
"RGBBBBBBBBBBB"
Returns: 2
"RGG"
Returns: 1
"RRGGBBRGB"
Returns: 7