Problem Statement
You are given a
You will perform a series of swaps until all the 'a's form one consecutive sequence and all the 'b's form another consecutive sequence. In each swap, you can select any two characters and swap them. Return the minimal number of swaps necessary to reach your goal.
Definition
- Class:
- CharSwaps
- Method:
- getMinCount
- Parameters:
- String
- Returns:
- int
- Method signature:
- int getMinCount(String s)
- (be sure your method is public)
Constraints
- s will contain between 1 and 15 characters, inclusive.
- s will contain the letters 'a' and 'b' only.
Examples
"ba"
Returns: 0
The letters are already arranged properly in this string.
"aaaabbbbba"
Returns: 0
The letters are already arranged properly in this string as well.
"abab"
Returns: 1
Swap the first two letters.
"aabbaaabaaba"
Returns: 2
"abababababababa"
Returns: 3
The case with the largest possible answer.
"aaaa"
Returns: 0
"a"
Returns: 0
"aaa"
Returns: 0
"aaaaa"
Returns: 0
"aaaaaa"
Returns: 0
"aaaaaaaaaa"
Returns: 0
"aaaaaaaaaaaaaa"
Returns: 0
"aaaaaaaaaaaaaaa"
Returns: 0
"aaaaaaaaaabaaaa"
Returns: 0
"aaaaaaaaabbbaaa"
Returns: 0
"aaaaaabbaaabbba"
Returns: 2
"aaaaaabbabaaaab"
Returns: 1
"aaaaabbbbb"
Returns: 0
"aaaaabbbbbbbbb"
Returns: 0
"aaab"
Returns: 0
"aaabaa"
Returns: 0
"aaababbaaababab"
Returns: 3
"aaabbaaabaababa"
Returns: 3
"aaba"
Returns: 0
"aabaaaaa"
Returns: 0
"aabaaaaaaaaaaba"
Returns: 1
"aabbababaabaaba"
Returns: 2
"aabbbaabaabbbab"
Returns: 3
"aabbbaba"
Returns: 1
"aabbbbaaaaa"
Returns: 0
"ab"
Returns: 0
"abaa"
Returns: 0
"abaaaaaaaaaaa"
Returns: 0
"abaaaabaa"
Returns: 1
"abaabbbabbbbbab"
Returns: 2
"abababababab"
Returns: 3
"abababababababb"
Returns: 3
"abababbaabbbbab"
Returns: 3
"ababbaaabbbabba"
Returns: 3
"ababbabab"
Returns: 2
"ababbbaaaaaabba"
Returns: 2
"ababbbaaabbbbab"
Returns: 3
"ababbbbaabbaaab"
Returns: 2
"abbaaaaabaaaaaa"
Returns: 1
"abbaababbabbbab"
Returns: 3
"abbabbaababaaab"
Returns: 2
"abbabbbbbabb"
Returns: 2
"abbbabbbbaabbba"
Returns: 3
"abbbbbabbbbbbbb"
Returns: 1
"b"
Returns: 0
"baaaaaaaaaaaaaa"
Returns: 0
"baaaaaaaaabbb"
Returns: 0
"baaaababaabaaaa"
Returns: 2
"baababbbaababab"
Returns: 3
"baabbaabbabaaaa"
Returns: 2
"baabbbaaaaabaab"
Returns: 2
"bababa"
Returns: 1
"bababbababababa"
Returns: 3
"bababbbaaabaaaa"
Returns: 2
"babbababbbabbbb"
Returns: 2
"babbbbbbbbabbb"
Returns: 1
"bb"
Returns: 0
"bba"
Returns: 0
"bbaaa"
Returns: 0
"bbaaaabaaaaaaab"
Returns: 1
"bbaaabaababbbab"
Returns: 2
"bbaabbababbb"
Returns: 2
"bbabbaabbbaaaba"
Returns: 3
"bbabbbbab"
Returns: 1
"bbb"
Returns: 0
"bbbabbbbbb"
Returns: 0
"bbbbaaaaaabbbbb"
Returns: 0
"bbbbabbbbbbbbbb"
Returns: 0
"bbbbbaabababaab"
Returns: 2
"bbbbbabbbbaabbb"
Returns: 1
"bbbbbabbbbbbbbb"
Returns: 0
"bbbbbba"
Returns: 0
"bbbbbbaaaaabbbb"
Returns: 0
"bbbbbbabbbbbbbb"
Returns: 0
"bbbbbbb"
Returns: 0
"bbbbbbba"
Returns: 0
"bbbbbbbabbb"
Returns: 0
"bbbbbbbbbababbb"
Returns: 1
"bbbbbbbbbbb"
Returns: 0
"bbbbbbbbbbbbb"
Returns: 0
"bbbbbbbbbbbbbab"
Returns: 0
"bbbbbbbbbbbbbba"
Returns: 0
"bbbbbbbbbbbbbbb"
Returns: 0
"abbbaaaabababab"
Returns: 2
"abaabbaaabbbbba"
Returns: 2
"abbbbbabab"
Returns: 1
"bbbbb"
Returns: 0
"bbbbaabab"
Returns: 1
"ababababab"
Returns: 2
"bbababaabbb"
Returns: 1
"abababababaaaaa"
Returns: 2
"ababbbaababa"
Returns: 2
"aabbbabbabab"
Returns: 2
"abaabaaab"
Returns: 1
"bbbbbaaaaa"
Returns: 0
"aabbaabbaabb"
Returns: 2
"abbababb"
Returns: 1
"abbabaababbabab"
Returns: 3
"abaabababbbabb"
Returns: 2
"aaaaab"
Returns: 0
"bababababababab"
Returns: 3
"aaaabbbbaaaba"
Returns: 1
"bbbaaa"
Returns: 0
"abbbaaabbba"
Returns: 2