Problem Statement
- The cost to change "a" to "b", is costs[0].
- The cost to change "b" to "c", is costs[1].
- The cost to change "c" to "a", is costs[2].
You are given the
Definition
- Class:
- ConversionMachine
- Method:
- countAll
- Parameters:
- String, String, int[], int
- Returns:
- int
- Method signature:
- int countAll(String word1, String word2, int[] costs, int maxCost)
- (be sure your method is public)
Notes
- Each letter can be changed multiple times.
- Even if a letter currently matches the corresponding letter in word2, it can still be changed.
Constraints
- word1 and word2 will contain the same number of characters.
- word1 and word2 will each contain between 1 and 11 characters, inclusive.
- Each character in word1 and word2 will be 'a', 'b' or 'c'.
- costs will contain exactly 3 elements.
- Each element of costs will be between 1 and 1000000000 (10^9), inclusive.
- maxCost will be between 0 and 1000000000 (10^9), inclusive.
Examples
"a"
"b"
{100,2,3}
205
Returns: 2
There are two sequences of moves with a total cost of at most 205: - "a" -> "b" (Total cost = 100). - "a" -> "b" -> "c" -> "a" -> "b". (Total cost = 205).
"aa"
"bb"
{102, 283, 282}
1000000
Returns: 394255315
"abcba"
"abcba"
{67,23,43}
0
Returns: 1
Since the two words are equal, the empty sequence of moves is valid.
"aaaaaaaaaaa"
"cbcbaaaacaa"
{1,1,1}
1000000000
Returns: 103255104
"cccccccc"
"aaaaaaaa"
{10000000,1,1}
100
Returns: 40320
"aa"
"cc"
{1,10,100}
1787
Returns: 123611681
"a"
"c"
{2374035,562618982,480360678}
780797507
Returns: 1
"a"
"c"
{842433666,48442207,178097042}
747333495
Returns: 0
"acacaaaabc"
"bcbabcbbbb"
{884741355,762905410,766344689}
614762568
Returns: 0
"ccbbacbab"
"acbccacba"
{44749443,321083036,286939056}
309527907
Returns: 0
"aabccccbc"
"caabacbcb"
{387764413,236012499,201750066}
501823287
Returns: 0
"ca"
"ca"
{541156591,35726091,946191342}
859654263
Returns: 1
"bacac"
"caaac"
{686515006,386481844,826460406}
519511330
Returns: 0
"bca"
"bcc"
{932934013,401587205,264489679}
982138130
Returns: 0
"abbabc"
"ccabcc"
{226966362,956249242,739687284}
365977640
Returns: 0
"baba"
"bbbc"
{669944122,34483038,619280588}
695148743
Returns: 0
"baca"
"ccaa"
{54,84,14}
307597668
Returns: 721882592
"cbaaca"
"cbbcca"
{61,75,88}
815144539
Returns: 309483399
"ca"
"aa"
{62,19,50}
195602524
Returns: 860183739
"cccaaaccba"
"cbaaccbaab"
{61,45,47}
338999268
Returns: 736706045
"cbcccaaccca"
"ccbcccaaaba"
{59,7,52}
90283387
Returns: 532665495
"bbbcab"
"cbccba"
{22,47,70}
538114877
Returns: 261779849
"aaabb"
"cbcac"
{80,63,18}
221027581
Returns: 896129862
"ca"
"ac"
{67,58,57}
773343718
Returns: 613955220
"aabbcacb"
"bcaabbab"
{60,100,31}
758794666
Returns: 236712319
"bcabbabcbb"
"cbbbbacbca"
{74,47,45}
567626576
Returns: 590427414
"abbcaaccbbc"
"bcacbaabbaa"
{1,1,1}
704180870
Returns: 247948065
"bcabcacacca"
"acaabbbacbc"
{1,1,1}
411951430
Returns: 855738145
"caccaccaabb"
"bbcccbaaacc"
{1,1,1}
598698049
Returns: 144538037
"accbbbbbaac"
"baabaaabcba"
{1,1,1}
452139813
Returns: 792140212
"cbbbcccacca"
"ccabcabbaab"
{1,1,1}
425008849
Returns: 178523401
"babbacbcbcc"
"cbbabacccbb"
{1,1,1}
632248484
Returns: 532322220
"bcbbbcbaccb"
"aaccabccbcc"
{1,1,1}
284761269
Returns: 321601669
"bcabbcbbaac"
"bbbcccbabac"
{1,1,1}
277834411
Returns: 41318521
"abcbbcbcabc"
"cccabbbbcab"
{1,1,1}
536870911
Returns: 515131206
"cbcacbcacaa"
"caaabcccbbc"
{1,1,1}
1000000000
Returns: 334944992
"aaaaaaaaaaa"
"aaaaaaaaaaa"
{1,1,1}
536870912
Returns: 941170882
"aabbabbbbbb"
"bbababaabab"
{783,635,967}
177015953
Returns: 340935804
"bbbabbbbbaa"
"aababbbbaab"
{47,816,934}
222754718
Returns: 742845138
"abaabbabbaa"
"aaabbbbbbbb"
{801,243,927}
470199726
Returns: 727541367
"babaaabbbbb"
"baababaabba"
{744,389,145}
905483689
Returns: 98864847
"ababaaaabab"
"aaabbbabaaa"
{12,606,645}
120370484
Returns: 834214937
"abbaaaabbbb"
"aaabaabbabb"
{614,131,274}
683441231
Returns: 272907888
"bbbbaaaaaba"
"bbbaabbbaaa"
{264,278,63}
843591678
Returns: 685526135
"abbaabbbbba"
"abbbbabaaab"
{415,126,396}
287817727
Returns: 159352612
"aabaaabbaaa"
"bbababababb"
{479,485,951}
603678491
Returns: 353709000
"bbaaaaabbab"
"ababbabbaab"
{705,736,818}
215275678
Returns: 64933726
"aaaaaaaabbb"
"bbbabababba"
{937,692,443}
163296300
Returns: 461696016
"bbbaaababbb"
"bbabbbaabab"
{701,260,746}
600554940
Returns: 168301926
"bbababaabba"
"aababbbabba"
{543,806111111,516222222}
406387153
Returns: 0
"bbbbabaaabb"
"abbabbbbaaa"
{920,8031111,5891111}
184101707
Returns: 305611725
"bbaaabbbaaa"
"bbbbabbbaab"
{690,80511111,3011111}
627536534
Returns: 776178791
"aabbbaaaaab"
"bbbbaaaabbb"
{531,4144444,818444}
209222160
Returns: 97373708
"baabbabbbab"
"aabaaaabbab"
{673,1,93012334}
975679429
Returns: 645858550
"abbabbbbbbb"
"baaaaabaaab"
{441,7791111,781}
508653228
Returns: 462187799
"bbaaaabbbba"
"baababbbbbb"
{375,740,12212334}
532008079
Returns: 346534130
"abaabbbaaba"
"baabbaabaaa"
{481,293,705000542}
367517558
Returns: 0
"ab"
"ab"
{729,371,886}
640035947
Returns: 688082579
"a"
"b"
{514,12,817}
138068217
Returns: 102806
"ba"
"aa"
{241,811,869}
504932238
Returns: 201998554
"aabbb"
"babab"
{892,185,692}
382931508
Returns: 947998483
"b"
"a"
{317,485,769}
850555421
Returns: 541410
"bb"
"bb"
{226,852,336}
404236895
Returns: 153777955
"aba"
"baa"
{577,256,790}
186976621
Returns: 219306955
"bbaba"
"ababb"
{190,948,389}
110884805
Returns: 137201130
"aba"
"bbb"
{865,273,630}
829228040
Returns: 111789378
"a"
"b"
{368,51,369}
252574603
Returns: 320526
"bbbaaaaaa"
"acacaacaa"
{2,74,41}
582996071
Returns: 128360629
"ababbbbab"
"accacaaaa"
{11,72,90}
608326079
Returns: 869943179
"aabbbbbab"
"acccacccc"
{84,20,82}
861168166
Returns: 654379334
"aaabababbba"
"aaaacacccca"
{91,85,3}
995987791
Returns: 914723037
"baabbabaab"
"cacaaacaca"
{70,3,99}
576911789
Returns: 264820392
"baaabbaabab"
"ccacaaaccac"
{40,40,61}
927150898
Returns: 484973990
"baaaababaab"
"ccaaacccaca"
{36,100,52}
902260170
Returns: 527130575
"abaababab"
"ccaacaaac"
{54,27,2}
163638604
Returns: 42848010
"abbababaaa"
"cacaccaaaa"
{92,84,4}
152428362
Returns: 998473549
"bababbaaba"
"accacccaca"
{61,65,86}
669453338
Returns: 260431374
"bbaccbbb"
"bbacbbac"
{70437,133,133}
991840667
Returns: 89619301
"aaaa"
"bbbb"
{1000000000, 1, 1 }
1000000000
Returns: 0