Statistics

Problem Statement for "RepeatStringEasy"

Problem Statement

A string S is called a square if there is some string T such that S = T + T. For example, the strings "", aabaab" and "xxxx" are squares, but "a", "aabb" and "aabbaa" are not.

You are given a String s. Find the longest square string that can be obtained from s by erasing some (possibly none, possibly all) of its characters. In other words, we are looking for the longest square that occurs in s as a subsequence. Return the length of that square.

Note that the answer is well-defined, as the square "" (the empty string) will always occur in s as a subsequence.

Definition

Class:
RepeatStringEasy
Method:
maximalLength
Parameters:
String
Returns:
int
Method signature:
int maximalLength(String s)
(be sure your method is public)

Constraints

  • s will contain between 1 and 50 characters, inclusive.
  • Each character in s will be a lowercase English letter ('a'-'z').

Examples

  1. "frankfurt"

    Returns: 4

    The longest square that occurs in "frankfurt" is "frfr". Its length is 4.

  2. "single"

    Returns: 0

    The letters in the string "single" are all distinct. Hence, the only square that occurs in this string is "". The length of this square is zero.

  3. "singing"

    Returns: 6

  4. "aababbababbabbbbabbabb"

    Returns: 18

  5. "x"

    Returns: 0

  6. "aaaabbababcbbabbabbbcabcbabcabcb"

    Returns: 24

  7. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: 50

  8. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaa"

    Returns: 48

  9. "fjkjsakljflkjakljjfiwoqjfioqwfoiqwjfiojq"

    Returns: 16

  10. "aadgpoachigi"

    Returns: 4

  11. "anjcubddgdgkegaabjmafkheilekfeda"

    Returns: 10

  12. "fjkomincdlqklcaeblckidiadiaynndedeaboffgfbdi"

    Returns: 14

  13. "dgkbbaabeageiaqefepampiffjaf"

    Returns: 10

  14. "ncdkabagambgmrxbyb"

    Returns: 6

  15. "fcah"

    Returns: 0

  16. "adbhbkghadlhsab"

    Returns: 8

  17. "idnefbecgfandfbdjadanebbabguegtaibfbgej"

    Returns: 20

  18. "elcvinkd"

    Returns: 0

  19. "kfkfbntjajgmaeaacahmikkdmfvriftzadddcb"

    Returns: 12

  20. "ccauhegbg"

    Returns: 2

  21. "fdljhcadorufenakncbefvlbqnabdaaijilalraparjcew"

    Returns: 16

  22. "bagackfdfbuqdiddlaahadgbafmfihgpspnqcbkdjha"

    Returns: 16

  23. "hcfhejdnqbjadbbdaocgmejbabdabvdgdhelkcehfmhdbvfa"

    Returns: 18

  24. "fmkjbaclbd"

    Returns: 2

  25. "dfkjabjdiedbmgmeadabdf"

    Returns: 8

  26. "bskcbdagfkhdfaaeabpefkmad"

    Returns: 8

  27. "paadf"

    Returns: 2

  28. "fgtaafekntoa"

    Returns: 6

  29. "xmraaenhpalceckbjpkica"

    Returns: 6

  30. "htilcaddbriqalcgdaibhjqbabadliedbfjfaajeacealdff"

    Returns: 18

  31. "apfhdsbcebaihfajape"

    Returns: 6

  32. "xbhihfbmduqbchgg"

    Returns: 4

  33. "cpaecdceeaegfala"

    Returns: 6

  34. "jcbbninbgnoaadufblfgbdhhrpaqcgoabjliabkcehbdmkc"

    Returns: 16

  35. "ickijfbgibhcbcaeeaehcgsjaulbqbkfqa"

    Returns: 10

  36. "bgbmpdibbjiel"

    Returns: 6

  37. "fhtofaagsbcfabbjicndfbaadphckbdbgefea"

    Returns: 12

  38. "mlefjamfybb"

    Returns: 4

  39. "hftbawfqaxijnaludbknemcjehgcbjpfrqldafcb"

    Returns: 14

  40. "hdigqnfakcljfheodfadcabiidiannuufdbiiqiad"

    Returns: 16

  41. "bdtelnaldgnwjidadadxmhdandddheanbbfqeiblaacbkbme"

    Returns: 16

  42. "azahebdabigasafcasggdfwbmaqajsatdpgzffnuscqdepiavb"

    Returns: 16

  43. "akgcgvaihobdedhkbalj"

    Returns: 4

  44. "cibhcbgffabodabcpckaafafbeubroqdccpgubauf"

    Returns: 16

  45. "jmbaja"

    Returns: 4

  46. "maalkfgabefkdadcafbmahdmhkd"

    Returns: 12

  47. "cdapqgqdhqcna"

    Returns: 4

  48. "aoadeieceibomflhaafgo"

    Returns: 6

  49. "dppkhcoeicalfjdijme"

    Returns: 6

  50. "dhddjicgqflkeqagaodnaananlheagcemvljbafdeascdhjmah"

    Returns: 16

  51. "mhaigddiaebogbkijadfnwaiakacfdbgwcevbtfn"

    Returns: 16

  52. "sajbhtpcefdakehcaabflccacfajggnlbc"

    Returns: 12

  53. "hdchebeakmaceihwvqseabcdbblf"

    Returns: 8

  54. "ljadaldifbejdeixrkfdkceaodaekkoacac"

    Returns: 14

  55. "bmibgaop"

    Returns: 2

  56. "ajjcmaaispljqaadmcckegaaddbadehfjcccpbchnb"

    Returns: 12

  57. "bchccehaqlgfajacfwibsaowbaljcadchbpfhtlifibsfbej"

    Returns: 20

  58. "aoeaf"

    Returns: 2

  59. "kghfudicunjbamjeegjkua"

    Returns: 6

  60. "fbhhbaths"

    Returns: 4

  61. "ngspqbbcildeidbmacgaeecpvdaaabehgwdefinkhbilgil"

    Returns: 14

  62. "aagbfhjeaerwtajmamfdblbnrlhd"

    Returns: 8

  63. "tfedbhebcna"

    Returns: 4

  64. "hahffadadmahakcblcbg"

    Returns: 6

  65. "qjhabhbgrbbamdiaabsj"

    Returns: 6

  66. "ebjbjblcdawijifgfnebecdbgbneabqidqab"

    Returns: 14

  67. "ldiedrhqbanagaeddsalcaadobdfreackjoaetojg"

    Returns: 14

  68. "jbdjeoqhaaailabj"

    Returns: 4

  69. "bjbcmhjfgbaeedielbf"

    Returns: 6

  70. "ibkcnjicbnjjaqbkharoboobhhpcaiahkacfcki"

    Returns: 12

  71. "abeciceaffeknacjbgcordaaagwdgigwnbaeob"

    Returns: 12

  72. "bdaebkgcjdkbalfcxjhdecbrdcbjbfbgbbopaeaoya"

    Returns: 14

  73. "bpcbbjl"

    Returns: 2

  74. "hbtfckfoacdfbkhhlebbmcalibdmcoeikabcl"

    Returns: 14

  75. "fgcaedaabbbhheefuckgbkmgnbdl"

    Returns: 8

  76. "e"

    Returns: 0

  77. "cghvacdaegdfekf"

    Returns: 6

  78. "kk"

    Returns: 2

  79. "eb"

    Returns: 0

  80. "abbsjfapehfdbakocblsaafeatiaamhhechahgkbfdfeilahh"

    Returns: 22

  81. "bpheurflgfiejhagacjff"

    Returns: 6

  82. "qdrhcfiacgrcbebt"

    Returns: 4

  83. "akhxgakabgfakblmclcaeaidaubwknprrqrrwcaajhpvajhkes"

    Returns: 14

  84. "baeeh"

    Returns: 2

  85. "orefkhhtfkbjbwccdfscdkrdgeqagicbabmugtabisg"

    Returns: 10

  86. "cgqbneefsfeanbifigfcdmaoia"

    Returns: 8

  87. "mlgavmkdehmghdagciogudduwghrilrrdaojcjqb"

    Returns: 14

  88. "iheckbetbil"

    Returns: 4

  89. "bsbrgkcbaeeaadcceecheceibumchbanbleadfahbcbwifca"

    Returns: 20

  90. "arfbmffal"

    Returns: 2

  91. "ekvfdgfajlabakagfnfayaqafehajichanbcguacmiipmqcli"

    Returns: 16

  92. "cabucthftrwam"

    Returns: 4

  93. "idrochabq"

    Returns: 0

  94. "jfaj"

    Returns: 2

  95. "abahafercbaafahfhfiibaajadflsanakbfrqpalnkap"

    Returns: 16

  96. "daddbhcakagc"

    Returns: 4

  97. "ma"

    Returns: 0

  98. "ajrhde"

    Returns: 0

  99. "bekcabhcobgabua"

    Returns: 6

  100. "abialbbgharbjiecdafamnbgagddcddaca"

    Returns: 14

  101. "ipsbgmlthraadtqcbtvaaghvbafjhhiatbjaaireikambo"

    Returns: 16

  102. "abaeaskqnmeaudtpsaffchffdhoqealfrcf"

    Returns: 12

  103. "bqefecadecbklcqikebieivemfkfhgbhqdlqo"

    Returns: 12

  104. "chhcbfbcccgbdraadbnajgggfeppsdejhhbibddfgkcarwgbp"

    Returns: 18

  105. "kakkgbgjf"

    Returns: 2

  106. "pcaeaeaemeedbmjbibrkcobcdahlif"

    Returns: 6

  107. "oseejhpkimidbofdfiamiacnjdcb"

    Returns: 12

  108. "hciapnbcbbhtgbkbfmasabjbcdfsditn"

    Returns: 10

  109. "sbfccpjbfaqcbjyacbnffgcbbbehdlljhdppbahchjpdajb"

    Returns: 18

  110. "abccbaabcabcabcabcdabdabcabccccaaabbbabcabcabcaaa"

    Returns: 36

  111. "rrfrurfrur"

    Returns: 8

  112. "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx"

    Returns: 48

  113. "strvsrt"

    Returns: 4

  114. "saaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad"

    Returns: 48

  115. "aababcbababbabbbbabbabbc"

    Returns: 18

  116. "abccab"

    Returns: 4

  117. "aa"

    Returns: 2

  118. "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"

    Returns: 48

  119. "adsdasdsadasd"

    Returns: 10

  120. "ababababababaabababababababababababababa"

    Returns: 38

  121. "axbab"

    Returns: 4

  122. "aaaaaabb"

    Returns: 6

  123. "abcdefghijklmnopqrstuaaaabbbcccdddeeebfffffddbssoo"

    Returns: 14

  124. "aaabbabaaabbbabbaabaaabbbabbbaaaabbaaababaabbbabaa"

    Returns: 40

  125. "baab"

    Returns: 2

  126. "bbaa"

    Returns: 2

  127. "aoapaop"

    Returns: 6

  128. "inni"

    Returns: 2

  129. "aaa"

    Returns: 2

  130. "abba"

    Returns: 2

  131. "elle"

    Returns: 2

  132. "abcdefghijklmnopqrstuvwxyywvutsrqpomnlkjihgfedcba"

    Returns: 4

  133. "ababbababbabbbbabbabbababbababbabbbbabbabb"

    Returns: 42

  134. "abcdefghaaa"

    Returns: 4

  135. "qwertyuioplkjhgfdsazcvbnmnbvcxzlkjhgfdsapoiuytrewq"

    Returns: 18

  136. "aabbaa"

    Returns: 4

  137. "waaw"

    Returns: 2

  138. "abcdefghijklmnoprssrponmlkjihgfedcba"

    Returns: 2

  139. "raztxryat"

    Returns: 6

  140. "frrrarrfarr"

    Returns: 8

  141. "abcdefghiabcdjklmnabcdopronmabcdlkjihabcdedcba"

    Returns: 20

  142. "ananannnannandadnadndfsddddssdsdddnsndtttnennddnf"

    Returns: 20

  143. "zxxxxxxxxxxxxxxxxxxxxxxfffffffffffffffffffffffff"

    Returns: 24


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: