Statistics

Problem Statement for "HappyLetterDiv1"

Problem Statement

The Happy Letter game is played as follows: At the beginning, several players enter the field. Each player has a lowercase English letter on their back. The game is played in turns. In each turn, you select two players with different letters, and both selected players leave the field. The game ends once it is impossible to take another turn.

If there are some players left in the field at the end of the game, they must all have the same letter. That letter is called the winning letter. If there are no players left in the field at the end of the game, there is no winning letter.

You are given a String letters. The characters in letters are the characters carried by the players at the beginning of the game. Return a String with all possible winning letters. The letters in the returned String must be sorted in increasing order.

Definition

Class:
HappyLetterDiv1
Method:
getHappyLetters
Parameters:
String
Returns:
String
Method signature:
String getHappyLetters(String letters)
(be sure your method is public)

Notes

  • If there's no happy letter, return the empty String.

Constraints

  • letters will contain between 1 and 50 elements.
  • Each element of letters will be a lowercase English letter ('a'-'z').

Examples

  1. "aabbacccc"

    Returns: "abc"

    Each of the three letters can be the winning letter. Here is one possibility how 'a' can be the winning letter: Let's number the players 0 through 8 in the order in which they appear in the input. We can then play the game as follows: Send away players 1 ('a') and 8 ('c'). Send away players 2 ('b') and 6 ('c'). Send away players 7 ('c') and 0 ('a'). Send away players 5 ('c') and 3 ('b'). The only player left is player 4 ('a'), hence 'a' is the winning letter.

  2. "aaaaaaaccdd"

    Returns: "a"

    Only letter 'a' can win.

  3. "ddabccadb"

    Returns: "abcd"

  4. "aaabbb"

    Returns: ""

    No letter can win.

  5. "d"

    Returns: "d"

  6. "ig"

    Returns: ""

  7. "ka"

    Returns: ""

  8. "uh"

    Returns: ""

  9. "bb"

    Returns: "b"

  10. "uu"

    Returns: "u"

  11. "pp"

    Returns: "p"

  12. "jj"

    Returns: "j"

  13. "sysetts"

    Returns: "esty"

  14. "asppqsp"

    Returns: "apqs"

  15. "rqkxpkh"

    Returns: "hkpqrx"

  16. "aqaaaaq"

    Returns: "a"

  17. "oshhshh"

    Returns: "h"

  18. "wwwwazw"

    Returns: "w"

  19. "mfffcfd"

    Returns: "f"

  20. "pyyzyplypyly"

    Returns: "y"

  21. "ocoooccscloolllll"

    Returns: "clos"

  22. "rdokcogscosn"

    Returns: "cos"

  23. "fffwffpfxfff"

    Returns: "f"

  24. "bbbobmbbbbrb"

    Returns: "b"

  25. "dqexqqqqeqqq"

    Returns: "q"

  26. "wdddduwddddd"

    Returns: "d"

  27. "uggeeuueguuooueug"

    Returns: "egou"

  28. "zhzqhhhzhzzhzhqqz"

    Returns: "hqz"

  29. "sbpnqkaoowjvipsxa"

    Returns: "abijknopqsvwx"

  30. "fgpfgfffpfhfffhgf"

    Returns: "f"

  31. "mwjwwwwewwwwwcwsy"

    Returns: "w"

  32. "gggqqgqgqqgqqqqqq"

    Returns: "q"

  33. "nnmznnnmnzznznnnz"

    Returns: "n"

  34. "nkntninftftntkkfttnntk"

    Returns: "fknt"

  35. "udduuuddudssssuddssusu"

    Returns: "dsu"

  36. "idmhhurjmysntqnxlokgpz"

    Returns: "hmn"

  37. "hhhzhvhvvzhhhhvhhhvhhz"

    Returns: "h"

  38. "mjmdmmmembmmmmmmmmrkmz"

    Returns: "m"

  39. "sssasospassopsssssspss"

    Returns: "s"

  40. "rrufumrrfrurrrrrrrrfru"

    Returns: "r"

  41. "kzffrzfffkfkzorkokrfovjrjkr"

    Returns: "fjkorvz"

  42. "dohoohdouooujdhodhdoooodjdj"

    Returns: "dhjou"

  43. "ptkfqxvtrmejknptdiqcuadhxww"

    Returns: "acdefhijkmnpqrtuvwx"

  44. "llullqellulullloulqllqqlqll"

    Returns: "l"

  45. "wrwueywsqwpwlvwwwwxswwwwgww"

    Returns: "w"

  46. "yylyqyyvqqyyyyyqyvqyzyyqvyv"

    Returns: "y"

  47. "dwwwwwwpwjjpjwwwwpwjwwwpwwp"

    Returns: "w"

  48. "lpvupuruevrtelluuekkkrlrttttltmu"

    Returns: "eklprtuv"

  49. "bfffbsvffvvvvvfffffftvfvfssvffba"

    Returns: "bfsv"

  50. "zoyfelhfounpmmpvdrgiazoenedwkmbs"

    Returns: "defmnopz"

  51. "jjjpjjjjjpjjppjjpjpjjppppjjjppjj"

    Returns: "j"

  52. "dddnddldkdlxddddddderdblddiodndd"

    Returns: "d"

  53. "wmwwwccwwwwwmwmmccwwxwmxwchcwwwm"

    Returns: "w"

  54. "dykyyyydyykdykzyyyydykyykkdyykyy"

    Returns: "y"

  55. "suwewqnqwlwswqewiswnnnenezsqllsienzqi"

    Returns: "eilnqsuwz"

  56. "zyxxxxxyvxzlxzxvyxyzlvxxzzzvxyxxxlvbx"

    Returns: "blvxyz"

  57. "bimbxrmwbqjbcctchioilonbbhzxfyiipgyaf"

    Returns: "abcfghijlmnopqrtwxyz"

  58. "pppppcccpcccccccccpccppcscpcpcppcpccc"

    Returns: "c"

  59. "yhytyaygcwyyyypaysayyyyyycfnyyygyuldy"

    Returns: "y"

  60. "uxgodudouxuududxoouuuuuouduuuuuuyuuod"

    Returns: "u"

  61. "yhhoyhhhihthhyihihhhyhhyyhyhhhiyhhoih"

    Returns: "h"

  62. "ygkfidfkioyfigdgvdffgyyigyoizfgyidgoggyuou"

    Returns: "dfgikouy"

  63. "mrmmpprppmprjmrmmrpmrmmmrpmmrjrrmpmmprmrmq"

    Returns: "jmpr"

  64. "xvryyiadmhibkxflccanrozobbgfmpinxregkbwddc"

    Returns: "abcdfgikmnorxy"

  65. "gggqqgqqgggqqqqqqgqgqqggqqgqqgqqgqqqggqqqg"

    Returns: "q"

  66. "ivfaepeejleeeeihiaeeeelegyeeeeeedyeeweeeeo"

    Returns: "e"

  67. "rrnqrrhenrrnfarqrrrrrrmreeaanehqrrrrrerrrr"

    Returns: "r"

  68. "yyjyyiiyyiyyyyjyjyyyyjiyyiyyyyyjiiyyjijjyj"

    Returns: "y"

  69. "tzbmyqzfrqgfmyzyfqcfzzrrzzqyygyagqryftqgzrfrzrf"

    Returns: "abcfgmqrtyz"

  70. "aacaiaaccccacacccaaicicaacacaaasaaaccivaaaivaac"

    Returns: "acisv"

  71. "dmwxfnjeilwsydhxdjbqnedenjvrtknxhobrtkhfdyxsjbt"

    Returns: "bdefhijklmnoqrstvwxy"

  72. "xxkxukxxxxyuuxxukuxxxxxuxuxxxxkxuuuxuuxxunxxnuu"

    Returns: "x"

  73. "eueeeuleeeeteeeeupvecemrinsjeeeemexsseueeenepre"

    Returns: "e"

  74. "aaeahazqheqapapnzmqqqaaaaamaaaapzaazaaaaaaaqqae"

    Returns: "a"

  75. "mmccmmmlmcmmmilmicmmmlmmlcmmcmmclrmmmimmliimmll"

    Returns: "m"

  76. "diccaibcbodcochcaabichbbiwayoboccccdaiabiaahaiciyc"

    Returns: "abcdhioy"

  77. "ftokjyojtokibfoyfjotjfjfjoffjfotfoooojoofffffojfff"

    Returns: "fjkoty"

  78. "dtdddtddtdddiddsdtdiddsdttdsstsddttddssddddtsitddd"

    Returns: "d"

  79. "nownqmwjihrurhuomxkvqayaffuvxlraoefnbitgyvmxntsx"

    Returns: "afhimnoqrtuvwxy"

  80. "emsmdqnbpavrkgweewpxpzicpmkwudqzgyktmavsgcnwbljcc"

    Returns: "abcdegijklmnpqrstuvwxyz"

  81. "xgxjptzyiwljbinqkmghapqetezemsndftttettptldnbgsbwp"

    Returns: "bdegijlmnpqstwxz"

  82. "wsngcpjgwnqubscuhwicbezihscditkppfezesutfgukpbft"

    Returns: "bcefghiknpstuwz"

  83. "wgnxusztptsxzjpzfxpzevjszmwhtmqvznumtmtokzzsgvhsy"

    Returns: "efghjkmnopqstuvwxyz"

  84. "pjyddwispfywqqhuduevgctkokufemhimlivlrybbpiyusmbve"

    Returns: "bdefhiklmpqsuvwy"

  85. "vmtbsmmkzrmykkvfrbvzdogrtpkkszddmvfpsksmdkosdkfc"

    Returns: "bdfkmoprstvz"

  86. "acgmapyqgaubarsauogakgeysavgyobmigpppsiqgpaboaiwp"

    Returns: "abcegikmopqrsuvwy"

  87. "xyosssitgothgwsmjwmyxmvkmkxsooioltglashslyksjyywks"

    Returns: "ghijklmostwxy"

  88. "wbbutwixiwxgsucqsiqqbqbxuxwrbbwcsiwiwicrbwcixtxn"

    Returns: "bciqrstuwx"

  89. "bxpctupdwxepssfuaewtpulllqqduomudmqmmlwcsecumsawm"

    Returns: "abcdeflmopqstuwx"

  90. "geccjadkniggednkptvdinsktglcpinmemgjtjgcetvkgijvgp"

    Returns: "cdegijkmnptv"

  91. "vavajoyijzgrodjavjtzhdadsytarjrgroopvgddrfvsjiov"

    Returns: "adgijorstvyz"

  92. "lypfkloceycctcplcccfhcvgppvflcksevykvycflfnksncck"

    Returns: "cefghklnopstvy"

  93. "skzeggkfgehfedfdskbhadkszbpdkksawehwxkbzfywekrogwf"

    Returns: "abdefghkswz"

  94. "duzzfxqfffxdguzxgcuuxxxxdfxdztdzgzztxgdvxlxgtzfq"

    Returns: "dfgqtuxz"

  95. "bkmkankjbjblknnabkvnvdkaadaxialakjkdvnnkdlivbdiab"

    Returns: "abdijklmnvx"

  96. "zxvzpzpxcphtvdxpwhpwvwwhzdwzwdxwvzvmvpdhtdapzhwzzd"

    Returns: "dhptvwxz"

  97. "boxwrkqxoexwqabbbuszaaueuukjbbberrqzabqoxwbrzqba"

    Returns: "abekoqruwxz"

  98. "abqneuvfvoaabvayuyvfbbqeyofnuqeofpyeneyqafonfquou"

    Returns: "abefnopquvy"

  99. "ttbyxtmgttmxgmxygyymxggtgttybbtgtgmgmxugxbxgbytbgt"

    Returns: "bgmtxy"

  100. "lfmmmdytiqmewloytitiltfiyylnoltotyitnofwieithhof"

    Returns: "efhilmnotwy"

  101. "ikdiipnspsdiksfpdkdnmmmdkilismdpdplnlsnnnwsklldsp"

    Returns: "dfiklmnpsw"

  102. "zaaaabbbbcccc"

    Returns: "abcz"

  103. "a"

    Returns: "a"

  104. "abbbcccddeeff"

    Returns: "abcdef"

  105. "aabbccdd"

    Returns: "abcd"

  106. "aaabbbcccddd"

    Returns: "abcd"

  107. "aabbbcccd"

    Returns: "abcd"

  108. "aabbbbbbbbbbccccccccccdddd"

    Returns: "abcd"

  109. "aaaaaaaaaabbbbbbbbbcccccccdddd"

    Returns: "abcd"

  110. "aabbbccccdddd"

    Returns: "abcd"

  111. "aaaabbbbccccd"

    Returns: "abcd"

  112. "aaaabbbcccd"

    Returns: "abcd"

  113. "abbccdd"

    Returns: "abcd"

  114. "abccd"

    Returns: "abcd"

  115. "aaaaaaaabbbbbbbbcccccddd"

    Returns: "abcd"

  116. "adbbaddbbbccdcbcddbcccc"

    Returns: "abcd"

  117. "gccabba"

    Returns: "abcg"

  118. "abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy"

    Returns: "abcdefghijklmnopqrstuvwxy"

  119. "aaabbbbbcccccdd"

    Returns: "abcd"

  120. "aaaaabbbbcccd"

    Returns: "abcd"

  121. "aaabbbbccccdddd"

    Returns: "abcd"

  122. "xaaaabbbccc"

    Returns: "abcx"

  123. "aabc"

    Returns: "a"

  124. "aaaaabbbbbcccccddddeeeeffffgggghhhiiijjkklmnzzzzzz"

    Returns: "abcdefghijkz"

  125. "aabbbbbbcccccddddd"

    Returns: "abcd"

  126. "aaaaaaaaaabbbbbbbbbbedfgr"

    Returns: "abdefgr"

  127. "aaabbbccddeeff"

    Returns: "abcdef"

  128. "aabbbbbccccdddd"

    Returns: "abcd"

  129. "abbbbbbbccccccdddddeeefff"

    Returns: "abcdef"

  130. "aaabbbcccd"

    Returns: "abc"

  131. "aaaaaaaaaa"

    Returns: "a"

  132. "aaaaaaaabbbbbbbbccccccccdef"

    Returns: "abcdef"

  133. "aaaabcde"

    Returns: "a"

  134. "aaaabbbbccd"

    Returns: "abcd"

  135. "abbbcccdddd"

    Returns: "abcd"

  136. "aaaaaaaaaabbbbbbbbbbccccccccccdd"

    Returns: "abcd"

  137. "aabcdd"

    Returns: "ad"

  138. "bccde"

    Returns: "bcde"

  139. "aaaaabbbbbcccccdd"

    Returns: "abcd"

  140. "bkvhlidsonvgdqbgkloibwmpqxllhwaxspkzmteauunalxtezp"

    Returns: "abdeghiklmnopqstuvwxz"

  141. "aabbbccc"

    Returns: "abc"

  142. "bbz"

    Returns: "b"

  143. "aabbccd"

    Returns: "abcd"

  144. "aaaabbcc"

    Returns: "a"

  145. "gebeggcabbbdbddgdehegbegfeghhgdcfadddghdcf"

    Returns: "abcdefgh"

  146. "sylvckwpqtpydoixpdpldevhnnhnodltquqdgeqfwzowsrsell"

    Returns: "dehlnopqstvwy"

  147. "aabccdd"

    Returns: "abcd"

  148. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: "a"

  149. "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx"

    Returns: "abcdefghijklmnopqrstuvwx"

  150. "aaaaabbbbcccx"

    Returns: "abcx"

  151. "aabbbbbcccccddd"

    Returns: "abcd"

  152. "aaaabbbbcccdd"

    Returns: "abcd"

  153. "aaaaaabbbbbccccdd"

    Returns: "abcd"

  154. "aaaaaaaaaabbbbbbbcccccccwwww"

    Returns: "abcw"

  155. "abbccdddd"

    Returns: "abcd"

  156. "abccc"

    Returns: "c"

  157. "aaaaabcedfg"

    Returns: "abcdefg"

  158. "aaabbccdddddd"

    Returns: "abcd"

  159. "aaabbbcccccc"

    Returns: "c"

  160. "adddddbbbbcceeeee"

    Returns: "abcde"

  161. "zzzzzzzyyyy"

    Returns: "z"


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: