Problem Statement
Your friend just sent you a message. The message consisted of one or more copies of the same lowercase letter. For example, "aaaaa" and "xxxxxxxxx" are valid messages. Unfortunately, on its way to you the message became corrupted: exactly k letters of the original message were changed to some other letters. The message you received is s.
Given the
Definition
- Class:
- CorruptedMessage
- Method:
- reconstructMessage
- Parameters:
- String, int
- Returns:
- String
- Method signature:
- String reconstructMessage(String s, int k)
- (be sure your method is public)
Constraints
- The number of characters in s will be between 1 and 50, inclusive.
- Each character in s will be a lowercase letter ('a'-'z').
- k will be between 0 and the length of s, inclusive.
- At least one possible original message will be consistent with s and k.
Examples
"hello"
3
Returns: "lllll"
The three corrupted characters have 0-based indices 0, 1, and 4.
"abc"
3
Returns: "ddd"
The original message can't be "aaa", "bbb", or "ccc", since we need to change exactly 3 characters. Some other possible answers include "qqq", "xxx", or "ppp".
"wwwwwwwwwwwwwwwwww"
0
Returns: "wwwwwwwwwwwwwwwwww"
No characters were corrupted.
"ababba"
3
Returns: "aaaaaa"
"bbbbbb" will also be accepted.
"zoztxtoxytyt"
10
Returns: "oooooooooooo"
"jlmnmiunaxzywed"
13
Returns: "mmmmmmmmmmmmmmm"
"uuufuuuueuuuoiuuwvuuuuuuuuuuuuuunemuvuuyuu"
11
Returns: "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
"iiiiiiiiitiiiiii"
1
Returns: "iiiiiiiiiiiiiiii"
"igkcylawfhdddsdjilmdfjhvnbczqgd"
25
Returns: "ddddddddddddddddddddddddddddddd"
"vfvvevvvvhmvvvvvvvivvvvvsv"
6
Returns: "vvvvvvvvvvvvvvvvvvvvvvvvvv"
"uuduu"
1
Returns: "uuuuu"
"hhhhheghhhghhhphhhh"
4
Returns: "hhhhhhhhhhhhhhhhhhh"
"dddiled"
3
Returns: "ddddddd"
"pbyifaboykyksvybiehqovyommswnk"
27
Returns: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
"eotddzybocxooo"
9
Returns: "oooooooooooooo"
"ttttittxt"
2
Returns: "ttttttttt"
"mohhpszhhhhhhhhh"
5
Returns: "hhhhhhhhhhhhhhhh"
"dddddddddddddddddddhddddddddddvdddddddddddd"
2
Returns: "ddddddddddddddddddddddddddddddddddddddddddd"
"bbbbbbbebbnb"
2
Returns: "bbbbbbbbbbbb"
"lzbhbhdlbqbb"
7
Returns: "bbbbbbbbbbbb"
"dzqsfvlcxznbkmavxkc"
17
Returns: "ccccccccccccccccccc"
"mlxitsprcxwjhcpjaeguxjdozfmfwjy"
30
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"bvmqyzoqcpptgst"
13
Returns: "ppppppppppppppp"
"nyachwjijjj"
7
Returns: "jjjjjjjjjjj"
"u"
0
Returns: "u"
"jfnomgskdoygmiirchhftjncplz"
26
Returns: "ddddddddddddddddddddddddddd"
"xksyvkfsxikhdjdfmqlsmvdijobopdqgnvpqugka"
40
Returns: "cccccccccccccccccccccccccccccccccccccccc"
"rzzzlzzzzzzzzmzzzzzzzzz"
3
Returns: "zzzzzzzzzzzzzzzzzzzzzzz"
"exwtxfhylzwdvxkrnyommyxktqrfpyhvwkagjas"
38
Returns: "ddddddddddddddddddddddddddddddddddddddd"
"epqimfj"
6
Returns: "eeeeeee"
"axodfiipyvfmioxshxtxreztnx"
21
Returns: "xxxxxxxxxxxxxxxxxxxxxxxxxx"
"noky"
4
Returns: "aaaa"
"hdddddddddddjdddwddddddddddddddddddddd"
3
Returns: "dddddddddddddddddddddddddddddddddddddd"
"mgjwkjjnjjjvjawjjjjjgkvomgefjnjj"
17
Returns: "jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"
"xozxxxxxcxllxxxxxxxeixxxxxxxxxxxxxxxxxcxxx"
8
Returns: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"nqcuqsrdzhggassises"
14
Returns: "sssssssssssssssssss"
"gmgyhyaywoykpyyyqyyxyyyygyyyyyyyyyfyyyydyyyygtyty"
17
Returns: "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
"gufocxfiprnnpndwdcjrurjahuonxsthsebboiyldshrxib"
44
Returns: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
"zxxxxpxxxflxxdxxxxxxxxxxxxxxxxxxxcxxxxxxxxxxxxwuxx"
8
Returns: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"eowfehrywuryytsyyylcyiyfuiywcblwyly"
24
Returns: "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
"nripkixaxywxkvmojpcdwlxwdrakqlsxklmheotebmfhx"
39
Returns: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"eeeeeeeeexeeeeeeeee"
1
Returns: "eeeeeeeeeeeeeeeeeee"
"hhhhhhhhhhhhhhhhhhhhh"
0
Returns: "hhhhhhhhhhhhhhhhhhhhh"
"yhyzyyyyyyhyyyyyyyyytfyy"
5
Returns: "yyyyyyyyyyyyyyyyyyyyyyyy"
"qikpabatczdnatzs"
15
Returns: "bbbbbbbbbbbbbbbb"
"ghzssoderfuqlawqlmmfvscqutlypkrdhj"
34
Returns: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
"rrrrrrrrrrrrrrrrrrrrrr"
0
Returns: "rrrrrrrrrrrrrrrrrrrrrr"
"idizukczdlwbtllnbqw"
17
Returns: "bbbbbbbbbbbbbbbbbbb"
"cljegmjwlvsjfaffymjfacacixprpf"
25
Returns: "ffffffffffffffffffffffffffffff"
"mlkrlilotbyxlflhlstlcllzddkmulpvivfltbxkllyxlbazql"
35
Returns: "llllllllllllllllllllllllllllllllllllllllllllllllll"
"wwwwwwwwwwwvwwgwww"
2
Returns: "wwwwwwwwwwwwwwwwww"
"aaa"
3
Returns: "bbb"
"aaaabbbacc"
5
Returns: "aaaaaaaaaa"
"zzz"
3
Returns: "aaa"
"bbccc"
3
Returns: "bbbbb"
"aaabcd"
5
Returns: "bbbbbb"
"abc"
2
Returns: "aaa"
"abbbb"
4
Returns: "aaaaa"
"aaabbbbbcc"
8
Returns: "cccccccccc"
"zztxtoxatyt"
9
Returns: "xxxxxxxxxxx"
"aaaaa"
5
Returns: "bbbbb"
"abcdefghijklmnopqrstuvwxy"
25
Returns: "zzzzzzzzzzzzzzzzzzzzzzzzz"
"aabbaa"
4
Returns: "bbbbbb"
"tttsac"
6
Returns: "bbbbbb"
"mmaaabbc"
5
Returns: "aaaaaaaa"
"abcd"
4
Returns: "eeee"
"aaab"
1
Returns: "aaaa"
"zza"
1
Returns: "zzz"
"az"
2
Returns: "bb"
"bbbc"
1
Returns: "bbbb"
"abcdfghijklmneriwrtezzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
20
Returns: "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
"xxxxx"
5
Returns: "aaaaa"
"abbbc"
2
Returns: "bbbbb"
"qwertyuiopasdfghjklxcvbnm"
25
Returns: "zzzzzzzzzzzzzzzzzzzzzzzzz"
"aab"
1
Returns: "aaa"
"bbbbb"
5
Returns: "aaaaa"
"aaaxxxa"
4
Returns: "xxxxxxx"
"abd"
3
Returns: "ccc"
"dddaac"
4
Returns: "aaaaaa"
"aaaabbb"
4
Returns: "bbbbbbb"
"aab"
2
Returns: "bbb"