Problem Statement
For example, she can transform "ELLY" to "KRIS" character by character by shifting 'E' to 'K' (6 operations), 'L' to 'R' (again 6 operations), the second 'L' to 'I' (23 operations, going from 'Z' to 'A' on the 15-th operation), and finally 'Y' to 'S' (20 operations, again cyclically going from 'Z' to 'A' on the 2-nd operation). The total number of operations would be 6 + 6 + 23 + 20 = 55. However, to make "ELLY" an anagram of "KRIS" it would be better to change it to "IRSK" with only 29 operations.
You are given the
Definition
- Class:
- EllysAnagrams
- Method:
- getCount
- Parameters:
- String, String
- Returns:
- int
- Method signature:
- int getCount(String A, String B)
- (be sure your method is public)
Notes
- We call two strings X and Y anagrams of each-other if we can re-arrange the letters in one of them to get the other.
Constraints
- A and B will be between 1 and 50 characters long.
- A and B will have the same length.
- A and B will contain only uppercase letters from the English alphabet ('A'-'Z').
Examples
"ELLY"
"KRIS"
Returns: 29
The example from the problem statement.
"TOPCODER"
"TCOINDIA"
Returns: 57
Several of the letters are present in both strings.
"HARDEST"
"THREADS"
Returns: 0
The first string is already an anagram of the second.
"AAAAAAAAAA"
"ZZZZZZZZZZ"
Returns: 250
Some strings may require many operations.
"AWIODJGWAMBAUWNMQEROAIQWYRZSVEPTT"
"BNSIAELDALCGAWOPIWEQTYCNAZEKJXVYU"
Returns: 105
Random keystrokes.
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
Returns: 1250
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"THEQUICKBROWNFXJMPDVLAZYDG"
Returns: 11
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"ZZZZZZZZZZZZZZZZZZZZZZZZZZ"
Returns: 325
"ABCDEFGHIJKLMNOPQRSTUVWXYABCDEFGHIJKLMNOPQRSTUVWXY"
"AAAAAAAAAAAAAAAAAAAAAAAAAZZZZZZZZZZZZZZZZZZZZZZZZZ"
Returns: 623
"X"
"X"
Returns: 0
"X"
"Y"
Returns: 1
"WI"
"OH"
Returns: 17
"UJM"
"PPP"
Returns: 30
"JCPLZ"
"BKGKI"
Returns: 51
"PTOYIIPI"
"NXYNPVMH"
Returns: 43
"DVWVLBNAUE"
"JKGKYKSZWE"
Returns: 74
"MABAEMBJHVPEMHIWOPCZ"
"HKRIEIRSHMMGBSDPPKXU"
Returns: 92
"AGJSWTPQLGIYMDJJYXKWQASCJJVPVI"
"JAHVQKBWEAFMJZDVVKIZYRWUGOTOOH"
Returns: 79
"VXZJCBNLYATVJYTYIFMKLXXTZHPGGKIDVLVGQWGLRIPOQRIFSX"
"LLZGMDYYELUZMOAEVIXEFLQKMAJOHOWOPXCYARWGIQOMACTHSO"
Returns: 106
"HIUOTXSDDDKIIRBZJGPEZLWPVHDYLROSPJCUFCXTKSVCFPMBRH"
"KPFAAJRECLUIGMYYGKKYIHQLXVRGAXSCTNMCWYJNZVQXKYIFNU"
Returns: 114
"JVBJOUJEDNMOPEFIQISPYNAJIODTDYXIPPGUQWXPXLUZAYUNNQ"
"JFPNKQGBTRLZIRWGLHWOCOXSGPZERHTLQFHQLHJKJKNOLGUNYU"
Returns: 129
"JUODAVCQDGFWTBEBEEKDIDTJFCEOJWJORWDSKZELQHDLCOJOLD"
"TVWRQWPPYSQEXVVVAWANTUWHTKVRVPFLJXEVOGXNJKFLQFILWG"
Returns: 274
"LMZSBOUVJCXULXEZFLMIYISTM"
"KZRINFSSJGLZIOBXJOXDMQZLY"
Returns: 70
"DBPYRLXDHMKFWOZSTSPIDKWUIYOCKZXHSVJPP"
"ZKDNRBHYINSAZZRLLJZYLXEUPALCXASSGVVDL"
Returns: 81
"YRURWONZTXQHPOLEJUNEVBEXTOSRRVWNJAPHQNYQRDHQX"
"IZTWDFXYOOTZMKTYNIOMKYFKAOKMMAUIJFMEGPCECKPTH"
Returns: 249
"CGNDKXNLQGKZTSGLU"
"KMYEEXLDOQKXKXVSP"
Returns: 55
"UGYKEFQOMZRXWVQCKEX"
"SYHGGABPIMKEDYGDGPY"
Returns: 74
"MEOZSKRXNLQELOFA"
"PIOTOUOZBEZARHAF"
Returns: 69
"DSERJZIORZKUPQFBYFDYWYHSPRXGQOQKH"
"ANXAMAXMTOEHGEJLXZDKGMLAVCPMPBPYM"
Returns: 140
"PZNOTSCBIGWFPLUVVAAEFICIOUCESKTSDJVD"
"LHXMPTGBTRNCMCPXRFOWXYNFCFTLJEHSQOZC"
Returns: 100
"VSBBNMSJSKLPGGFJEVIRDXRUFUMQLJFHNEKMKIFVB"
"FNNLGKIESMZWBICOIBWRIXWZXNISHDRKPSNAQKMVB"
Returns: 100
"MBXZVCFRPVXTTWR"
"DUCKFWGGDLIOKLA"
Returns: 123
"LPGFDIAZCKZYOGZADCPPMBLBZHXSMTGOCDVJCE"
"GNMCOYNCTQAJCPLSMRMISTWTWOBBZUXWJNLFVZ"
Returns: 163
"VSKRTOYJASLFZNOSMDBYXRIZGZSTYQCBSHABIJRZ"
"VSSCJFFUJYAXIQVVHNHBPVBOVQLJCDMEZGCCWRRW"
Returns: 75
"HUNPZXFQJJMSZSDOFMTPXBIKFKIRLGGOCQPHSEKVK"
"FMXBVPFBXXIVHXVRDSXINXPPGLCSTKMEZQTTEZRTQ"
Returns: 133
"JVZIPRNGAFOWLBJFGWKDYCKSDSFPJW"
"MEAODMKKWPGFRJYKPJOJOVSLZMYRBR"
Returns: 84
"CSWRFLSSTRRBCTVVQXZIQHQBFVMHGIDEHQXVBRGSVPBHIHU"
"GRIJKNCDWJRSDZJCEPWBYWOCCBXAXSLJIQUONJROWTOJRDR"
Returns: 138
"ZCPCDYDLVOCRSMEVTV"
"HLMQKPYNDWLGLHXRQX"
Returns: 91
"TPSDMOADZEFSHKABIFIMAGNNSBSAON"
"AGJAYMRTKZOMNDRQAPVKLPINWGSOPX"
Returns: 105
"TXXUUVXPBZCPIFELNJHTOAPRXLFKPNZFXWHOMOPLWLZQISNTE"
"HYLFWDIBOJDSTKPRISGMLORLIRLMUPUJPGHYBUDMYEBCUDYGC"
Returns: 139
"UGZQTFEGYTMHWXBVPSQQVLIPRLSCCGDIVMBIYJHQAYFWCMOLJ"
"GUNDWONIUJUZJTASKZOLKVRCMZUDKBSPBYQELEKDAJIFLOEDT"
Returns: 95
"SPESOYIBQNGOGDEKGSEKNUJGYMGXMBPAHYRYGMMGJBS"
"CMUPXGSCPBPLDTATRKEBFKWPBLIKJIKFPVFOQTTEAIT"
Returns: 108
"ADUUTBBMJCHLJYRREJMMWS"
"CWGBQWWZZZWCPSYZLMFJUP"
Returns: 95
"AIRTGYEYDY"
"MYUEGZGEIV"
Returns: 27
"MFHVGXPGNDXGGMCSVTPQYBKJEJHTQTXJQHCVD"
"EUIPOXDDLCYBEKZMEHBVMPJZSHHBIKPVHRORI"
Returns: 79
"DXMHTCXSEMULDXWDKZVEHCEOSW"
"UTMWESHKGLRCLYHOFLFQJIBTOG"
Returns: 96
"OQUBHXACYCVCTZHLCEEPBTAAMWBNQOYJM"
"VMBQNWOIDHPFTFVHWPJBDMRNYAIGEXTRD"
Returns: 75
"KKHUZIBMEGLSIAFKBUNGQZAEUVLO"
"FJDNYUVCMZFIUQSFVXTACHERGMHM"
Returns: 56
"OKRQMDYRPXSPFSQOUMDGJTFESTRM"
"VFQKAPMFNCQSTCKKVDMLLNDOJQOV"
Returns: 97
"SULBDXWINJRHKZLCO"
"VSZVHECDBLJPQEBHC"
Returns: 83
"OSSFTSCZISSTWQWIIRPCTXBJAQBUNJCPZJBEHL"
"QZRJJMSIASEZNWWMBWFZCRXGAHFELLXDLRGHTA"
Returns: 108
"AWIODJGWAMBAUWNMQEROAIQWYRZSVEPJTAWIODJGWAMBA"
"BNSIAELDALCGAWOPIWEQTYCNAZAWIODJGWAMBAUWNMQER"
Returns: 56
"EQWHUIQWEGAKJSDGQWKJE"
"QUWEKJQWEKLDNASDNBQWI"
Returns: 61
"ABB"
"AAB"
Returns: 25
"A"
"Z"
Returns: 25
"A"
"B"
Returns: 1
"QWERTYUIOPASDFGHJKLZXCVBNQWERTYUIOPASDFGHJKLZXCVBN"
"MNBVCXZLKJHGFDSAPOIUYTREWWERTYUIOPASDFGHJKLZXCVBNM"
Returns: 44