Problem Statement
An anagram of a string is a string containing precisely the same letters, possibly in different order. For example, "porter", "report", and "eoprrt" are all anagrams of the string "porter" (and of each other). The string "potter" is not their anagram, as the numbers of "t"s and "r"s differ.
Strings S and T are orthogonal if they are of the same length and differ in each position. For instance, the strings "card" and "dear" are orthogonal. The strings "perk" and "card" are not orthogonal, because their third letters are the same.
You are given a
Definition
- Class:
- OrthogonalAnagram
- Method:
- solve
- Parameters:
- String
- Returns:
- String
- Method signature:
- String solve(String S)
- (be sure your method is public)
Notes
- Given two distinct strings of equal length, the lexicographically smaller one is the one with a smaller character in the first position where they differ.
Constraints
- S will contain between 1 and 50 characters, inclusive.
- Each character of S will be a lowercase letter ('a'-'z').
Examples
"dcba"
Returns: "abcd"
"edcba"
Returns: "abdce"
The two lexicographically smallest anagrams are "abcde" and "abced". Neither of these is orthogonal to S: they all share the same third letter ("c").
"aaaaa"
Returns: ""
Here it is clearly impossible to create an orthogonal anagram.
"abba"
Returns: "baab"
"qwqeqrqtqyquqiqoqpqaqsqdqfqgqhqjqkqlqzqxqcqvqbqnqm"
Returns: "aqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqrqsqtquqvqwqxqyqzq"
"qwqeqrqtqyquqiqoqpqaqsqdqfqgqhqjqkqqqzqxqcqvqbqnqm"
Returns: ""
"ererrereeeererererererrererereeererererererererrrr"
Returns: "rereererrrrererererereererererrrererererererereeee"
"a"
Returns: ""
"zy"
Returns: "yz"
"yz"
Returns: "zy"
"yy"
Returns: ""
"gap"
Returns: "apg"
"topcoder"
Returns: "cdeoport"
"heyicanwritesomestoryhereinsteadofrandomtext"
Returns: "aaacddeeeeefeehhiiimmnnnoooorrrrssstttttwxyy"
"qwertyuiopsdfghjklzxcvbnmaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaabcdefghijklmnopqrstuvwxyz"
"aaaaaaaaaaaaaaaaaaaaaaaaaqwertyuiopsdfghjklzxcvbnm"
Returns: "bcdefghijklmnopqrstuvwxyzaaaaaaaaaaaaaaaaaaaaaaaaa"
"aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbb"
Returns: "bbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaa"
"aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbabbbbbbbbbbbbbb"
Returns: ""
"abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab"
Returns: "baabaabaabaabaabaabaabaababccbccbccbccbccbccbccbcc"
"bacabacadedededebacabacadedededecabacabadeedeedee"
Returns: "ababababaaaaaaaacbbcccdccdedededeeeeeeeeeddeddedd"
"aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyz"
Returns: "bbaaddccffeehhggjjiillkknnmmppoorrqqttssvvuuxxwwzy"
"aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwyz"
Returns: "bbaaddccffeehhggjjiillkknnmmppoorrqqttssvvuuyzww"
"abbbcdddefffghhhijjjklllmnnnopppqrrrstttuuuvwwwxzy"
Returns: "bacdbbefddghffijhhkljjmnllopnnqrppstrruuttvuxyzwww"
"twasbrilligandtheslithytovesdidgyreandgimbleinthew"
Returns: "aabadbdddeeeeeggghhhiiiiiillllmnnnorrssstttttvwwyy"
"abeallmimsyweretheborogovesandthemomerathsoutgrabe"
Returns: "baabaaabdeeegegeeheehhillmmmmnoooororsrrststuttvwy"
"bewarethejabberwockmysonthejawsthatbitetheclawstha"
Returns: "aaabaaabbbcceheeeeeehhhhijjklmnoorrssstwttttttwwwy"
"tcatchbewarethefubjubbirdandshunthefrumiousbanders"
Returns: "aabaabcbbbcdddfeeeeefhhhhiijmnnonrrrsrssttttuuuuuw"
"natchhetookhisvorpalswordinhandlongtimethemanxomef"
Returns: "acaaaddeeeefghhhhhiiikllmmmnnonnnoooooprrssttttvwx"
"meemmeeeeemememmememmemememmemmmemeememmeemmeeemme"
Returns: "emmeemmmmmememeememeemememeemeeememmemeemmeemmmeem"
"fhfhffffhhfhffhfhffffhhhhhfhhfhffhfhhfffhhhhhffhhh"
Returns: ""
"mmmumuumuuumuummmmmummmmmuuuummmumumumuuuumuuuuum"
Returns: ""
"jhjjjjjtjthtthtjjjhtjjjtjjtttjhtjhhthjhjjjjjjhhhjh"
Returns: "hjhhhhhjhjjjjjjhhhjjhhhjttjjjtjjtjjjjtjttttttjjjtj"
"fxffwffwxwfffxxwxxfxwfffxxffwwffxwffffxfwxffwffwwf"
Returns: ""
"lllzllzzzllbzblbzzzzbzbbblzzlzzblbzbzblbblbblbll"
Returns: "bbbbbbbbbbblblblbbbllllllzllzlllzzlzlzzzzzzzzzzz"
"hbbhbjjjbbbbbbjhbhjhbhjbhbjjhjhjhjhhhhhhbjbjbhjjbj"
Returns: "bhhbhbbbhhhhhhbbhbbbhbbhjjbbjbjbjbjjjjjjjhjhjjhhjh"
"jxjjccxjjjcxcccxcjxcxcjjccccxjjcjccxjjjjccjxjxjcjc"
Returns: "ccccjjccccjcjjjcjccjcjccjjjjcccjcjjcxxxxjjxjxjxxxx"
"hihhagighhhssiasihhhhbhshhagsihghhhhahhbhbabghhbhh"
Returns: "ahaahhhhaabhhhhhhbbbbhghgghhhhghgiiihiihshhhhsshss"
"ivrzzvzvvizzrvirrriiiriirzivzviirrvvzzzrvrrvzvizri"
Returns: "riiiiiiiiriiiirivvrrrvrrvrrrrrvvvzzzvvvzzzzzvzzvzz"
"kdkddkkkddkkddddkkkdkddkqkkdkdkkkkkkddkkddddddkdkd"
Returns: "dkdkkdddkkddkkkkdddkdkkdkddkdkddddddkkddkkkkkkdkqk"
"pnnppnnpntpnnpnnppppppnppnnnnnppppppnnnknppnpnnpnp"
Returns: "kppnnppnppnppnppnnnnnnpnnpppppnnnnnnpppppnnpnppnpt"
"kkkkkkkkkkkkkkkkkkkkkkkkykkkkkkkkkkkkkkkkkkkkkkkkk"
Returns: ""
"bbnnnnnnbnnnnbbbnnnbbnbnnnbnnnnbnbbbnnnnnnnbnnbbnn"
Returns: ""
"ggggggaggggqggqagagjajgjggggggjqgggaggqaqgjgggqggg"
Returns: ""
"kckvvvfbbvkvfbfvffkvfbvfccbcbkcfcbvvbckbbckkkkcffc"
Returns: "bbbbbbbccbbbcccccccckffkfffffffkfkkkkkvkkvvvvvvvvv"
"eeszijpjmpismjszspejjypsijnispspijyypimsjymyj"
Returns: "iieeeiiiijjjjmjjjjjmmmnppppppspsssssssyyyzyzy"
"zfffffifzfxfqffqflflxfzllifxflffxffzffffcfzfil"
Returns: ""
"wwczwcwcwwwccwzwwcwwwcccwwcwwccwcwccwcccwcwwwccccc"
Returns: "ccwccwcwcccwwccccwcccwwwccwccwwcwcwwcwwwcwczzwwwww"
"xxixnxxiixiixiiiixxxxinxixiixxiiniixiixxxixiixiixx"
Returns: "iiniiiinnixxixxxxiiiixxixixxiixxxxxixxiiixixxixxii"
"hhhhhffffhhffhhffsffhfhffhhhfffhhffhhhhhxffhhhffff"
Returns: "fffffhhhhffhhffhhfhhfhfhhfffhhhffhhffffffhhfsxhhhh"
"iivviirviiviviivvvviviiiviivvvvvivviviviiivmirvvii"
Returns: "mriirviivvivivviiiivivvvivviiiiiviivivivvvivvviivv"
"mamumreueermkmjaejjeerrqdrmemjrcmanjmmqareecridejr"
Returns: "acaaacddijeeeeeejeejjeejjknmqmmmqmmmrrmmmrrrurrrru"
"yzztyzipzzypipztyizyzdyiyiizizpiiytyiiytidiyityztd"
Returns: "dddiiipiiiiipiiiipiipttttttyyyyyyzyzyyzyyzzzzzzyzz"
"qhguwhqqgqswqhughwqqyggutyuwqwqnuxqnirqyqhqgsnxnxw"
Returns: "gghgggghhhhinnnnqqrsqqqqqqqqsqtqquuuuuwwwwwwxxyxyy"
"nknnkpknkppnkpnppmnppnknmnnnpnnnnkmnnnnmxvnpxnnnnk"
Returns: "knkknnnknnnknnknnnknnknmnmmmnppppnnppppnnnpnnpvxxn"
"qqaaaafqaaqqqqaqqafafqqqfqaaaqaqfaqaqaaaaqqfaqfaqq"
Returns: "aaffffaafqaaaaqaaqqqqaaaqaqqqaqaqqaqaqqqqaaqqaqqff"
"qbqqsqsqqqszrqrqqqqszqsqzqsqbqqsszqqqyrqqsqbqrqzqq"
Returns: ""
"rrrrttrrrttrmtrrtcrrtrttrcrtcrcrtrmtrrtrrtrrrrrrct"
Returns: ""
"xxxgfgxxzxsgpxpipixxizagzipxwgggzggpaaapacycwspxga"
Returns: "aaaaaaccfggiggggggggpiiippsppppswwxxxxxxxxxxxyzzzz"
"tetttttxeettttttttetttttttetetteexeetteettttetetet"
Returns: ""
"jyaarhhhhhaqbmhrmihnhkhimawqkanhwhbqakrmaahbahaqwj"
Returns: "aabbaaaaaabaahihhhihjhjhhhhhhhkkkmmmmnnqqqqrrrwwyw"
"ffffaflafffcfffafflffffaffffffffllffffafcfffffffff"
Returns: ""
"qkdqqtwhgtqspwgwzqxtcgtqwgtgcgyzqmwsythdhdpqzspozp"
Returns: "ccgdddgghggghhkmoppppqqsqqqqqqsstttttwtwwwwxyzzzyz"
"fvfvfffffffffvvvvfffffvffffvffvvfffvvffvfvvffffvfv"
Returns: ""
"rwdppzyjwmylwwmxwqwhdizimmmkrjerwpxdkqxrxhzlxexwew"
Returns: "ddedeehhiijjkkllmmmmmpppqqrrwrrwxwwwwwwwyxxxyxzxzz"
"fvirsefysnsfsfjyqvsdevvfjffnjsnnfpjvfnifsfvffdviif"
Returns: "ddeeffiffffififffffffijjnjjpnnqrnnssssssvsyvvvyvvv"
"mmmppmmmppppppppppzppppppppppmpmpppmmmpmpmpmmmpppp"
Returns: ""
"vniburruruvvuarbrraarvxrvvvanbrvrxnvuvbradnrdbuaar"
Returns: "aaaaaaabbbbbddinnnnrurrurrrrrrururrrvuuvvvvvvvvvxx"
"ooonnnoononnkkokoookonnnnoonoonnnknonnnnonokonkkon"
Returns: "kkkkkkkkonoonnnnnnnnnoooonnonnooononoooononnnonono"
"oooiiiooiioiooxxiidxxxydoiooyyioiiyiixodioxdidiiii"
Returns: "dddddoiiooioiiiiooiiiiiiioiiiioiooioooxoxxyxxxxyyy"
"daeaboabbbdaqceccccbccbbcbccdbeacccbccccddbcedaacc"
Returns: "ababaabaaacccbcbbbbcbbccbcddccccdddcdeeeccceccccoq"
"pjjlmjutmlgjhqtgujgxgmxljjggpxgpjjlkjjuhpjgupjgkmp"
Returns: "ggggggggghhkjjjjjkjjjjjjlljjllmmmmppppppqttxuuuuxx"
"eehebhpppehhhphhpehieeihphehihbhebeeeeieiehieiejee"
Returns: "bbbheeeeeheeeeeeeheehheeeehehihihhhhhhjipiipipippp"
"sjrsyokaooyxarzskoyrzouloksysasyyskuyjzrssuokouzkj"
Returns: "aaajjjlkkkkkkoooorooororrsususussussssxyyyyyyzzyzz"
"zozuzwswadvzzsopudvapoaujsaoaopzuouzaodosvsodovjoz"
Returns: "aaaaaadddjdjoopoooooopooopsssssuvuvuuuvvwzzzzzzzzw"
"tsyyssfysygvysgggtfstssgglgtsggvfgsysgvssyvfygtgfg"
Returns: "fffffggggglgggsssggggggssssstsssssttttyvvvyyvyyyyy"
"lnlllnnlnlnnllnlnlnlnnllllllnnnnlllnllnlllnnlnnlln"
Returns: ""
"rpprouufoffpoqdorfpiuduooofqdfpurpfrpoouruorouuoqu"
Returns: "dddffffifooffoopooooooopppopppqqqrruuuururuuurruur"
"mivvvowlwvvlvvliiwwwivlwmmwuwawumouwuovwmwvuwuwiml"
Returns: "aliiiiimlllmlmmmmooouuuuuuvvvvvwwwwvwwwvwvwwvwvwww"
"vbooodvoeryorrooeelrlynerryyeerovryvoeeoeyeoyroyld"
Returns: "bddeeeeeleeeeellnoooooooooooorvrrvrrrrryyryyvyyvyy"
"ciaaciaaicacaiaicccciccaaicaciiicicaiaicaaiaicaiaa"
Returns: "aaccaaccaacacacaaaaaaaaciaiiiacciciiciciiiciciicii"
"fykpykpkkyyoyfykkffkokkpypoyyyooffkyfyfykoyykkyyyy"
Returns: "kffffffffkkkkkkookyyyyyykyykkkyyyyykyoyoyyooyypppp"
"fqfqqqqffqqqfqqqqqfqqffqqfqqffqqqfqqqqfqqqfqfqffqf"
Returns: ""
"hgohghqghhrrhqohrqrroqhrrqrhroghrrqohhqrrhgohrhrhq"
Returns: "ghgghgghoohhohhohhhhhhohhhoqqrrrqqrrrrrqqrrrrqrqrr"
"kkeekekkekknkekeeknknknkknkenkekknkckkkkeenkkknkek"
Returns: ""
"knkllxgackwrxyllzklxmpomlflllkkllkfllllyrwodwllckm"
Returns: "accdffkgklkkkkkkllmlllllmlmnollopllrrwwllllwxxxyyz"
"sdmbmbfzzfmdzmfmfjmrrffjifdjdnuuindznzufmzmzzmzxid"
Returns: "bbddddddfiffffififfjjjmmmmmmmmmnnrnrzszzzuzuuzxzzz"
"nsssbsbsssssssssybsysssnssssbssbsssnbssynssssssnsb"
Returns: ""
"hhhhnhhhhhnnhhhnnhhhhhhhhhhhnnhnhhhhnhnhnhhnhhnnnn"
Returns: ""
"mmmppmppmpmmmpmpmmppmmpppppmmppmmmpmmmpmmmppmppppm"
Returns: ""
"ggdggjogggdggmgmmmmgdmggggdmgdgdmggmggmggggmmdgmdm"
Returns: ""
"uejaujrujjuaejvaejjjuuoujjeaiojurvrrjuuaujuvjjujoj"
Returns: "aaaeaaeeeijjjojjjoorjjjjrrjjjjrjuuuuujjuvuvuuuvuuu"
"wpahhuwhekeeehsueshuhqxvfuuukxuexshspheywszeqeuphf"
Returns: "aeeeeeeefefhhehhhhkhkhhpppqqsssssuuuuuuuuvwwwxxxyz"
"zgzgzllllllllggzlllllllllllzglzzgzzlzlzglzlzllllzl"
Returns: ""
"czxclncmccqomqlonxcmhcomccnonnxczcmumoxmznqcuxunxm"
Returns: "hcclcclcmmcccccccmmnmmmnmnonoonnnooqqquuuxxxxzxxzz"
"rrrrrrroorrrrryrrrrrrrrrroyrrrrrrrrrrryrrrrrrrroro"
Returns: ""
"whtttmthwtwmtwwthtwhwhtthwtttwwmhtmthtwmwmwhwmttmt"
Returns: "hmhhhhhmhhhtmmmmmmttttwwttwwwttttwtwtwtttttwtwwwww"
"myhrwhzmythczyyypmyzmrypmzkqyvhyyxhvvhmwyorytmehmv"
Returns: "cekhhmhhhhmhmmmmmomppqrrrttvvwvvwyxyyyyyzyyzyyyyzz"
"cccccccccmccccccccmccccmcmcccccmccmmccccmccmcccmcc"
Returns: ""
"hfhttyththhttffhhtthhthhththttihhthtthhttytgtftgtt"
Returns: "fgfffghthtthhtttthhtthtthththhttththhtthhththtityy"
"vhidzedzdvvppvoiddtcfvpzccttvettieptzxhtrffvfddkvz"
Returns: "ccceddededdddffffhhiiikopppprtvvtttvtttvvvvxzzzzzv"
"xqqqctdxxfdqqiidxxssgccqxtqnvixqxxofkisaikpxqaxioq"
Returns: "aaccdcfddgfiikkiiiinoopsqqsqqqqsqqqqtxxxxxxtxxvxxx"
"nzzrzzzzrvzznznrzrnnnrzzzzzzznzvznnzzvzrzzvnzvrrzz"
Returns: ""
"isssoossisossszssiiiizizsosisswiososzsiioswsssooss"
Returns: "oiiiisiisisiiisiosssssssososoosssososossswswzzsszz"
"qqsqgwsgwssqwgsggsogssosomossssssmqcgiqosggsowogwg"
Returns: "cgggiggmgggggmgoooqoooqoqssqqqwwwssssssswsswssssss"
"vvllvlvlvlllvvvllllllvvlvvlvvvvvvvlvvlvvvlvvlvvvlv"
Returns: ""
"twgwtgvwtwvwgwtgvwvwvwvvvwgwwgggtwwtvwttwtwgwtgwwt"
Returns: "ggtggtggggggttvtwtwtwtwwwtwttwwwwvvwwvwwvwvwvwwvvw"
"vivivvvvivviivivivvvivvvvivvvivvvvvvvviivviiivivvv"
Returns: ""
"uuotrbumlmtuoatmmmooogmottrltjblymmotguorrlrjmytur"
Returns: "abbggjjlmlllmmmooommmmomoooorrrrrrttuttttttuuuuuyy"
"dsseedwsdvwdyvwssyjvsddsveesdpsdsssdwwsywwwywsevys"
Returns: "eddddeddeddedejpvsssvssvsssvssvswwwssswsyyywywwwwy"
"xhxichcxciicnhxhicxchxqxihxicicchxxxiccqxxxqcxxcix"
Returns: "cccchchchcchccccchhhiixixxixxxxxxiiixxxxiinxxqqxxq"
"ievvtvvievvivvevvkeeevtvvivveetivvvvtttvvvevttvkvt"
Returns: "vveeveevveeveeveivvvviviivikvvvvktttvvvtttvtvvtvtv"
"cmmrrwwmrrwrwmrmxrrhrrwhmhmrzrarhcrrwrwmarmawarcmr"
Returns: "aaaaccchhhhmmrmrmmmmmmmrrrrwrwrwrrwwrwrrrwrrrrwrxz"
"vugxtnynjfndnnjekoeddbdbenxbynkbmfynjhxkdjqnxdghnu"
Returns: "bbbbddddddeeeffgghhjjjjkkkmnnonnnnnqnnntuuvxyxxxyy"
"cccccccccccccccccccccccccccccccccccccccccccccccccc"
Returns: ""
"izihiiizzhzzizzzhiizziizhzhzihhzzzizhzzhiiiizzziiz"
Returns: "hhhihzzhhzhhzhiizzziizzizizizzziiiziziizzzzziiizzi"
"hhhghdhdbrwddhadddrrddyhdwryarrnnygydsdharddndlnhr"
Returns: "aaabdgdgdddhhddhhhddhhddhddddhlrrnnnnrrrrsrrwwyyyy"
"ssuxnussxexxunussisixunnnxsnqiiexesnsxsxtxunssxnns"
Returns: "eeeiiiinnnnnnqnnnntsssssssusssssssuxxuxuxuxxxxuxxx"
"ytayattetayettttttaaeattttattaatatatatttaataaataat"
Returns: "tatttaatatttaaaaaattttaaaataattatatateeettytttytty"
"pqpyzaqippizpipzpappiqppppqppaiqhpphpzpzpxpzppzypp"
Returns: "apapppppahpphpipipiippiqqqpqqppppxypypzpzpzpzzppzz"
"fcfcfkfkfkfckkfkcckfkkffkffkkfkfffkkkkkkkfkkkfkcff"
Returns: "cfkkkckckckkcckfkkfkffkkfkkffkfkkkfffffffkfffkfkkk"
"eaeeegeweweeegeeaegeeagwwwaaaaeegaggegeaawaaaaeaew"
Returns: "aeaaaaaaaaaaaaaaegeggeeeeeeeeeggeeeegegeeewwwwwwwg"
"dhhshssffhshfhfsssddshssllhhsdshfhsklssslyssssfllh"
Returns: "fddddffhhfffhkshhhsshshhsssshshssshsslllsslllyssss"
"znnzqlzyejfjzzemezqpymfzznimimvynzniyfmsynmmmzfzmi"
Returns: "eeeffffiiiiljjmnmmmmmnmmmpnnnnqqsvyyzyzzzzzzzyzyzz"
"lmvlvvmhmmvlvvmlmllllllvammvvmvmmmmvmvllmvvmmcjmlv"
Returns: "achjlllllllmlllmlmmmmmmllvvmmvmvvvvmvmmmvmmvvvvvvm"
"jsojosjsllgsomjjmtjojjjjjjoujglojugsjjmjjjgjcjtgjo"
Returns: "cgggggljjjjjjjlljjmjmmoooojjojjjojjjosjsssjsjtjtuu"
"eenjhjnbqnwhoonzqnnyqnzqezjnqznzqohenqjonnqhqyhnoq"
Returns: "bheeeehhhhjjjjonnoonnonnnnnonnqnnqqqqwqqqqyqyzzzzz"
"uuuuuuuuuuuuuzuzuuuuuuuuuuuuuuuuuuuuuuuuzuuuuuuuuu"
Returns: ""
"cqqqqqcqqqcqqcqcqqqqcqqcqqqcqqqqccqqcqccqqqqccqqcc"
Returns: ""