Statistics

Problem Statement for "AntiPalindrome"

Problem Statement

A String p is called anti-palindrome if p[i] doesn't equal to p[n - i - 1] for each 0 <= i < (n-1)/2, where n is the length of p. It means that each character (except the middle in the case of a string of odd length) must be different from its symmetric character. For example, "c", "cpp", "java" are anti-palindrome, but "test", "pp" and "weather" are not.

You are given a String s. Rearrange its letters in such a way that the resulting string is anti-palindrome. If there are several solutions, return the one that comes earliest alphabetically. If it is impossible to do it, return the empty string.

Definition

Class:
AntiPalindrome
Method:
rearrange
Parameters:
String
Returns:
String
Method signature:
String rearrange(String s)
(be sure your method is public)

Constraints

  • s will contain between 1 and 50 characters, inclusive.
  • s will contain only lowercase letters ('a'-'z').

Examples

  1. "test"

    Returns: "estt"

  2. "aabbcc"

    Returns: "aabcbc"

  3. "reflectionnoitcelfer"

    Returns: "cceeeeffiillnnoorrtt"

  4. "hello"

    Returns: "ehllo"

  5. "aaaaabbbbbccccc"

    Returns: "aaaaabbbccbbccc"

  6. "www"

    Returns: ""

  7. "a"

    Returns: "a"

  8. "aa"

    Returns: ""

  9. "aaa"

    Returns: ""

  10. "bbbb"

    Returns: ""

  11. "aaaaa"

    Returns: ""

  12. "bbbbbb"

    Returns: ""

  13. "aaaaaaa"

    Returns: ""

  14. "bbbbbbbb"

    Returns: ""

  15. "aaaaaaaaa"

    Returns: ""

  16. "bbbbbabbbb"

    Returns: ""

  17. "ccccccccccc"

    Returns: ""

  18. "eeabbcedbabc"

    Returns: "aabbbbccdeee"

  19. "aaccabaaadbda"

    Returns: "aaaaaaabbccdd"

  20. "aaaaaaaaaaaaaa"

    Returns: ""

  21. "cdbcfcffcacfcaa"

    Returns: "aaabccccdffccff"

  22. "egfacegaefgecdae"

    Returns: "aaaccdeeffeeeggg"

  23. "aacbbbaabbabbaaba"

    Returns: "aaaaaaaabbbbbbbbc"

  24. "cccccccccccccccacc"

    Returns: ""

  25. "aaaaaaaabaaaaaaaaca"

    Returns: ""

  26. "bbbbbbbbbabbbbbbabba"

    Returns: ""

  27. "gaefdgfbacgbgecgbfccb"

    Returns: "aabbbbccccdeefffggggg"

  28. "cccdcacccaadcccccccaca"

    Returns: ""

  29. "gahagaeaaaaaajaaaaaaaaa"

    Returns: ""

  30. "fadaccfadcbfdadbbdcbbafa"

    Returns: "aaaaaabbbbbcdcccddddffff"

  31. "ddhchjciheficjcjcjjdjcgck"

    Returns: "cccccccdddefghhhiijjjjjjk"

  32. "bccccccccccccccccceccccccc"

    Returns: ""

  33. "abaaabababaabbbaaaaaababbaa"

    Returns: ""

  34. "dddadddddddcdddddddddddddddd"

    Returns: ""

  35. "iihigifhaieiiiiciiigiiiiiciii"

    Returns: ""

  36. "bcbbbcbbabbbbcacbccbaabbcccbbb"

    Returns: ""

  37. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: ""

  38. "aaaaaejaaaaaaaaaadbaadaaaafbaaaa"

    Returns: ""

  39. "ddddddddddddddddddddddddddddddddd"

    Returns: ""

  40. "jjjjcjjjjejjelejjjjjljjjdjcjjjjjjj"

    Returns: ""

  41. "aedcfeeaabdfagaggaebaffaaaeadafaaaa"

    Returns: "aaaaaaaaaaaaaaaabbcdddeeeeefffffggg"

  42. "kimldjiiimibdiibihjigiamfegjijigflih"

    Returns: "abbddeffggghhiiiiijjjjkiiiiiiiillmmm"

  43. "kdblkgknkbdknicgkkkabbaklnkikokemkckm"

    Returns: "aabbbbccddeggiikkkkllmkkkkkkkkkkmnnno"

  44. "fffanfihikfffffifilffkdfibjfgcffffhfjf"

    Returns: ""

  45. "gcgfcgdbebdgabddedcgdgeaagdcgceaggcfcee"

    Returns: "aaaabbbcccccccddddddeeeeedeffgggggggggg"

  46. "efceacheffhcdcdfbaehagbfaaaabdgegegefbff"

    Returns: "aaaaaaabbbbccccdddeeffeeeeeffffffgggghhh"

  47. "abddaddcbbcbbbaabaaccacbadcabacdcbacccaab"

    Returns: "aaaaaaaaaaaaabbbbbbbbcccccccbbbccccdddddd"

  48. "bbbbabdddbbbbbbbbbbabbbdcbdbbabbbcbbbdbbcb"

    Returns: ""

  49. "cccaccbccccccaccccccccbaccccccacccccbcaccac"

    Returns: ""

  50. "ecddbaagdccfccgcfedcbddbbbdcgdaedafacgfadeec"

    Returns: "aaaaaabbbbbccccccccccdedddddddddeeeeffffgggg"

  51. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: ""

  52. "rdnlvbfsomktnonivnnbdqlnngnjrnfnklhnqeqmkndfgd"

    Returns: "bbddddefffgghijkkklllmmnnnnnnnnnnnnooqqqrrstvv"

  53. "tttcgtttitrtltttntotqttjtgvtfbtrttfdtcwhttgtjlv"

    Returns: "bccdffggghijjllnoqrrttttvvwtttttttttttttttttttt"

  54. "tttttttttttttttttttttttttttttttttttttttttttttttt"

    Returns: ""

  55. "bbabbbebbbcbbebbbbbbbbbbbbjbabbhbbbbfbbjbbiebkbdb"

    Returns: ""

  56. "dcgaecdaadegbccecgbcdabcfdddgdaeedccdgdgagbccgdagb"

    Returns: "aaaaaaabbbbbcccccccccccddeeddddddddddeeefggggggggg"

  57. "a"

    Returns: "a"

  58. "efe"

    Returns: "eef"

  59. "ddhdc"

    Returns: "cddhd"

  60. "dakkfed"

    Returns: "addefkk"

  61. "bhecfddfd"

    Returns: "bcdddeffh"

  62. "ahcahakaaa"

    Returns: ""

  63. "aaaaaaaaaa"

    Returns: ""

  64. "hlpkdedsqd"

    Returns: "dddehklpqs"

  65. "bsbbqbrbbubnb"

    Returns: ""

  66. "eejeeeeekeeeebeeece"

    Returns: ""

  67. "bbagibbahbg"

    Returns: "aabbbbgghbi"

  68. "curkfjjrjiufhnfj"

    Returns: "cfffhijjknjjrruu"

  69. "aaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: ""

  70. "ooofooocooooioooooooo"

    Returns: ""

  71. "aaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: ""

  72. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: ""

  73. "abbbbabaabaababaaabaaaababbbaabbbaabababbbbaaababa"

    Returns: ""

  74. "accccacccbaccabccbaacbbacbbaccabbbaaacacaabacbccbc"

    Returns: "aaaaaaaaaaaaaaaabbbbbbbbbcccccccccbbbbcccccccccccc"

  75. "acdcabbadabdbccabddcbdaabcddbcbdaaccabddcabdbdccd"

    Returns: "aaaaaaaaaaabbbbbbbbbbbbccdccccccccccddddddddddddd"

  76. "acbbdcebbcaaadecccaaaceaeaeccbeaaadcaecebbcaebaea"

    Returns: "aaaaaaaaaaaaaaaabbbbbbbbccccccccccccdddeeeeeeeeee"

  77. "eafebcaafdcdbccefdfafcaedaafaaceaffccfffcbbdbccfdc"

    Returns: "aaaaaaaaaabbbbbccccccccccddddddeeeecceffffffffffff"

  78. "aeddgegfacageaeaeddfefcagfaccfaaecabbgfaffffbgbee"

    Returns: "aaaaaaaaaaabbbbcccccddddeeeeeeeeeffffffffffgggggg"

  79. "dgeeaefdfhfchhgagdgchffafahebcafhdbehfhdhhdhdcgfhg"

    Returns: "aaaaabbccccdddddddeeeeeffggfffffffgggghhhhhhhhhhhh"

  80. "gbibffdefbgfbiceggihbdfeiechaeifbbdhhbcihbiebdhdfc"

    Returns: "abbbbbbbbbbccccdddddeeeeefffffeffgggghhhhhhiiiiiii"

  81. "dbabbejiicfgjccecffcfddbhjdeegjcacdchfdeghdbbhedff"

    Returns: "aabbbbbbccccccccddddddddefeeeeeffffffggghhhhiijjjj"

  82. "ikdkaebddbhdcbfhjjfkifdfkiehcjckbjbjdifakdijabeik"

    Returns: "aaabbbbbbcccdddddddeeefffhhffhiiiiiijjjjjjkkkkkkk"

  83. "lkhiijhlfigkleedjlkeafcbdjfgfjljkkdaceckfgkbgiagbd"

    Returns: "aaabbbcccddddeeeefffffggghhiggiiijjjjjkkkkkkklllll"

  84. "makbkjcbchlgcffbgbgkaahfjlflcffijafmmlhcdjhfclaicb"

    Returns: "aaaaabbbbbcccccccdfffffffggghhhhfiijjjjkkklllllmmm"

  85. "machcmdbmmcmamlcfhnkacgjmmngmgdcbmnckccifkdkgaglbh"

    Returns: "aaaabbbcccccccccdddffgggghhhigjkkkkllmmmmmmmmmmnnn"

  86. "jdhddcehladihfnojldeckbibbaeldfbhibnfonjeedgemgld"

    Returns: "aabbbbbccddddddddeeeeeeffgfghhhhiiijjjkllllmnnnoo"

  87. "bababababababababababababababababababababababababa"

    Returns: "aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbb"

  88. "babababababababababababababababababababababababab"

    Returns: "aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbb"

  89. "bbaabababbababaabbbbbaaabbbbbbabaaaabaababaaabaa"

    Returns: "aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb"

  90. "bababbaabaaaababbbbbbaabababababaabbbabbaaababa"

    Returns: "aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb"

  91. "baaaabbbbababbbaaabababaabbaababaaabababbbbaba"

    Returns: "aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbb"

  92. "babababbbabbaabaabbbbaaababaaaaaababbbaabbabb"

    Returns: "aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbb"

  93. "aabaabaabaaaababaabbaabbbbaaabbbbababbbabbab"

    Returns: "aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbb"

  94. "bbababbbabbaaabbbbbababbaaaabaaaabbabaaabab"

    Returns: "aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbb"

  95. "bbbabbabaabbabbbaaaabbabbaaaabaabbbbbaaaaa"

    Returns: "aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbb"

  96. "bbababaaaaaaababbbbbabaaaabbbaabbabababbb"

    Returns: "aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbb"

  97. "bababbababbabaabbbaaaaababaaabbbaabbaabb"

    Returns: "aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbb"

  98. "babaababaaaabbbaabbabbbaabbbbaabbaababa"

    Returns: "aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbb"

  99. "abbaabaabaababbabbabbaaaaaaabbabbbabbb"

    Returns: "aaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb"

  100. "bbaaaaaabbaaababbbaaaabbbbaabbbbbbaba"

    Returns: "aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb"

  101. "ababaabaababbaababbbaaabbaabaaabbbbb"

    Returns: "aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbb"

  102. "aaabb"

    Returns: "aaabb"

  103. "aacccd"

    Returns: "aacdcc"

  104. "ewwww"

    Returns: ""

  105. "cccccccccccccccccccccccaaaaaaaaaaaaabdefghijklmnop"

    Returns: "aaaaaaaaaaaaabcccccccccccdefghijklmnccccccccccccop"

  106. "aaabbbcccc"

    Returns: "aaabbccbcc"

  107. "aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbb"

    Returns: ""

  108. "abbb"

    Returns: ""

  109. "aab"

    Returns: "aab"

  110. "abccccde"

    Returns: "abccdecc"

  111. "a"

    Returns: "a"

  112. "aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeee"

    Returns: "aaaaaaaaaabbbbbbbbbbcccccdddddcccccdddddeeeeeeeeee"

  113. "aaaaxxxxxyyy"

    Returns: "aaaaxxyyxxxy"

  114. "abbz"

    Returns: "abzb"

  115. "aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbcccccccccccccccc"

    Returns: "aaaaaaaaaaaaaaaabbbbbbbbbcccccccccbbbbbbbbbccccccc"

  116. "gggggggggggggggggggggggggpkamappoeirwytksjdfmvcbw"

    Returns: "aabcdefggggggggggggggggggijkkmmoppprstvwwyggggggg"

  117. "aaaaaaaaaaaaaaaaaaaaaabcdefghijklmnopqr"

    Returns: ""

  118. "aaaabbbccc"

    Returns: "aaaabcbbcc"

  119. "x"

    Returns: "x"

  120. "abb"

    Returns: "abb"

  121. "aabbbbbbbbbbbbbbbbbbbbbbbbbcdefghijklmnopqrstuvwxy"

    Returns: "aabbbbbbbbbbbbbbbbbbbbbbbcdefghijklmnopqrstuvwxybb"

  122. "aabbbbcd"

    Returns: "aabbcdbb"

  123. "aaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccc"

    Returns: "aaaaaaaaaaaaabbbbbbbbbbbbccccccccccccbbbbbbbbbbbbb"

  124. "abbbbcd"

    Returns: "abbbcdb"

  125. "aaaaawaaaeaaaaeaaasaawaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: ""

  126. "aabbbbc"

    Returns: "aabbcbb"

  127. "aaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccccccccccccc"

    Returns: "aaaaaaaaaaaaaaabbbbbbbbbcccccccccbbbbbbbbbcccccc"

  128. "aaaaxy"

    Returns: ""

  129. "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx"

    Returns: "aabbccddeeffgghhiijjkkllmnmnooppqqrrssttuuvvwwxxyz"

  130. "aaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbcdefghijklmnopq"

    Returns: "aaaaaaaaaaaaabbbbbbbbbbbbcdefghijklmnbbbbbbbbbbopq"

  131. "aaabbbccc"

    Returns: "aaabbcbcc"

  132. "abbbc"

    Returns: "abbcb"

  133. "abbbcd"

    Returns: "abbcdb"

  134. "aba"

    Returns: "aab"

  135. "rewtretttttttttttttttregregregergergerger"

    Returns: "eeeeeeeeeggggggrrrrrrtttttrrrtttttttttttw"

  136. "aaaaaaaaaabbbbbbbbbbcccccccddddbbbcccccccaaaaaxyz"

    Returns: "aaaaaaaaaaaaaaabbbbbbbbbbcccccccccbbbcccccddddxyz"

  137. "aaaaaaaaaaaaaaaaaaaaaaaabbcdefghijklmnopqrstuvwxyz"

    Returns: "aaaaaaaaaaaaaaaaaaaaaaaabcbdefghijklmnopqrstuvwxyz"

  138. "aaaaaaaaaaaaaaaaaaaaaaaaabcdefghijklmnopqrstuvwx"

    Returns: ""

  139. "aabbbbcc"

    Returns: "aabbccbb"

  140. "abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy"

    Returns: "aabbccddeeffgghhiijjkkllmnmnooppqqrrssttuuvvwwxxyy"

  141. "aaabbbbcc"

    Returns: "aaabbcbbc"

  142. "abcd"

    Returns: "abcd"

  143. "abcccccccccccccccccccccccceeeeeeeeeeeeeeeddddxxxx"

    Returns: "abcccccccccccccccccccccccddddeeeeeeeeeeeeeeexxxcx"

  144. "aaaaaabbbbbbcccc"

    Returns: "aaaaaabbccbbbbcc"

  145. "aaaaaaaabbbbcccccccc"

    Returns: "aaaaaaaabbccbbcccccc"

  146. "aaaaaaaaaaaaaaaaaaaaaaaaaabcdefghijklmnopqrstuvwxy"

    Returns: ""

  147. "ababb"

    Returns: "aabbb"

  148. "abccccef"

    Returns: "abccefcc"

  149. "aaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbccccddddddeeeeefff"

    Returns: "aaaaaaaaaaaaaabbbbbbbbbbbccccddddddebbbbbbbeeeefff"

  150. "aaaaaaaaaaaaaaaaaaaaaaaaaabcdefghijklmnopqrstu"

    Returns: ""

  151. "aaaaaab"

    Returns: ""

  152. "dbzdd"

    Returns: "bddzd"

  153. "aaaabcdefghijklmnopaaaabcdefghijklmnop"

    Returns: "aaaaaaaabbccddeeffghghiijjkkllmmnnoopp"

  154. "aafccc"

    Returns: "aacfcc"

  155. "abcdefabcdabcdefabcdabcdefabcdabcdefabcdabcdefabcd"

    Returns: "aaaaaaaaaabbbbbbbbbbcccccdddddcccccdddddeeeeefffff"

  156. "aabcc"

    Returns: "aabcc"

  157. "aaaaaaaaaabbbbbbbbbbbbbbbbbcdefghjklmnopqrstuvwxyz"

    Returns: "aaaaaaaaaabbbbbbbbbbbbbbbcdefghjklmnopqrbbstuvwxyz"

  158. "aabbbbbcc"

    Returns: "aabbbccbb"

  159. "zyxvutsrqponmlkjihgfedcbazyxvutsrqponmlkjihgfedcba"

    Returns: "aabbccddeeffgghhiijjkkllmnmnooppqqrrssttuuvvxxyyzz"

  160. "abbbbbbbbbbbbbbbbbbbbbbbbbcdefghijklmnopqrstuvwxyz"

    Returns: "abbbbbbbbbbbbbbbbbbbbbbbbcdefghijklmnopqrstuvwxyzb"

  161. "aabbbcc"

    Returns: "aabbcbc"

  162. "aaaaaaaaaaaaacccccccccccccbbbbbbbbbbbbbbbbbbbbbbbb"

    Returns: "aaaaaaaaaaaaabbbbbbbbbbbbccccccccccccbbbbbbbbbbbbc"

  163. "aaaabb"

    Returns: ""

  164. "aaaabbbbbbbcccc"

    Returns: "aaaabbbbcccbbbc"

  165. "abcdefghijklmnopquvzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"

    Returns: ""

  166. "effffggh"

    Returns: "efffgghf"

  167. "abcbcabb"

    Returns: "aabbccbb"

  168. "wwwwwwwwwwwwwwwwawwwwwwwwwwwaaawwssswwwswwwwssssss"

    Returns: ""

  169. "ba"

    Returns: "ab"

  170. "ooooooooooooooooooooooooophqghumeaylnlfdxfircvscxg"

    Returns: "accdeffgghhillmnooooooooopqrsuvxxyoooooooooooooooo"


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: