Statistics

Problem Statement for "EqualSubstrings"

Problem Statement

You will be given a String str consisting of lowercase letters. You will return a String[] containing elements x and y in that order. The returned Strings x and y must satisfy:
  • 1) The string xy (x with y concatenated on the end) must equal str.
  • 2) The number of a's in x must equal the number of b's in y.
  • 3) If multiple solutions are possible, use the one that maximizes the length of x.
See the examples for further clarifications.

Definition

Class:
EqualSubstrings
Method:
getSubstrings
Parameters:
String
Returns:
String[]
Method signature:
String[] getSubstrings(String str)
(be sure your method is public)

Constraints

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

Examples

  1. "aaabbb"

    Returns: { "aaa", "bbb" }

    Here we can split str right down the center.

  2. "bbbaaa"

    Returns: { "bbb", "aaa" }

    Again the center works.

  3. "bbbbbb"

    Returns: { "bbbbbb", "" }

    y can be empty.

  4. "aaaaaa"

    Returns: { "", "aaaaaa" }

    x can be empty.

  5. "abjlkbjalkbjaljsbljbalb"

    Returns: { "abjlkbjalkbjaljs", "bljbalb" }

    Make sure to maximize the length of x.

  6. "cccccccc"

    Returns: { "cccccccc", "" }

  7. "abjabjabjabjabjabjabjabjabjabjabjabjabjabjabjabjab"

    Returns: { "abjabjabjabjabjabjabjabja", "bjabjabjabjabjabjabjabjab" }

  8. "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"

    Returns: { "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", "" }

  9. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: { "", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }

  10. "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"

    Returns: { "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "" }

  11. "ababababababababababababababababababababababababab"

    Returns: { "ababababababababababababa", "babababababababababababab" }

  12. "jnoidabjasodjbaoibjaobjaiobjoaijbnoijbbn"

    Returns: { "jnoidabjasodjbaoibjaobj", "aiobjoaijbnoijbbn" }

  13. "abjkabjakjbakbjalkbjlaejjebajb"

    Returns: { "abjkabjakjbak", "bjalkbjlaejjebajb" }

  14. "jwoabijobijaoibjaobijeoaibjoia"

    Returns: { "jwoabijobijaoibj", "aobijeoaibjoia" }

  15. "aiowbejowbbjowijboibjweoibjawojb"

    Returns: { "aiowbejowbbjowijboibjweoibj", "awojb" }

  16. "awebwakbkababkabk"

    Returns: { "awebwakbka", "babkabk" }

  17. "greatproblemset"

    Returns: { "greatpro", "blemset" }

  18. "reallyterrific"

    Returns: { "re", "allyterrific" }

  19. "axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

    Returns: { "", "axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }

  20. "axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb"

    Returns: { "axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "b" }

  21. "a"

    Returns: { "", "a" }

  22. "bbb"

    Returns: { "bbb", "" }

  23. "xxxx"

    Returns: { "xxxx", "" }

  24. "bab"

    Returns: { "ba", "b" }

  25. "fazmlkfmlkfmqzlekjfmlsqdkjfmlsqekjfmzalefkjmldkjb"

    Returns: { "fazmlkfmlkfmqzlekjfmlsqdkjfmlsqekjfmz", "alefkjmldkjb" }

  26. "aaaaaaaa"

    Returns: { "", "aaaaaaaa" }

  27. "sdfsdfsdf"

    Returns: { "sdfsdfsdf", "" }

  28. "aasdfbabb"

    Returns: { "aasdfb", "abb" }

  29. "cccccccc"

    Returns: { "cccccccc", "" }

  30. "abjlkbjalkbjaljsbljbalb"

    Returns: { "abjlkbjalkbjaljs", "bljbalb" }

  31. "ddddddddddddddddddddddddda"

    Returns: { "ddddddddddddddddddddddddd", "a" }

  32. "z"

    Returns: { "z", "" }

  33. "aaaa"

    Returns: { "", "aaaa" }

  34. "fezfzeafcxpvoiuwxcvaazareeaaaaaaaaaaaaaaaaa"

    Returns: { "fezfze", "afcxpvoiuwxcvaazareeaaaaaaaaaaaaaaaaa" }

  35. "zzzzzzssssssssss"

    Returns: { "zzzzzzssssssssss", "" }

  36. "bb"

    Returns: { "bb", "" }

  37. "a"

    Returns: { "", "a" }

  38. "bbb"

    Returns: { "bbb", "" }

  39. "xxxx"

    Returns: { "xxxx", "" }

  40. "bab"

    Returns: { "ba", "b" }

  41. "fazmlkfmlkfmqzlekjfmlsqdkjfmlsqekjfmzalefkjmldkjb"

    Returns: { "fazmlkfmlkfmqzlekjfmlsqdkjfmlsqekjfmz", "alefkjmldkjb" }

  42. "aaaaaaaa"

    Returns: { "", "aaaaaaaa" }

  43. "sdfsdfsdf"

    Returns: { "sdfsdfsdf", "" }

  44. "aasdfbabb"

    Returns: { "aasdfb", "abb" }

  45. "cccccccc"

    Returns: { "cccccccc", "" }

  46. "abjlkbjalkbjaljsbljbalb"

    Returns: { "abjlkbjalkbjaljs", "bljbalb" }

  47. "ddddddddddddddddddddddddda"

    Returns: { "ddddddddddddddddddddddddd", "a" }

  48. "z"

    Returns: { "z", "" }

  49. "aaaa"

    Returns: { "", "aaaa" }

  50. "fezfzeafcxpvoiuwxcvaazareeaaaaaaaaaaaaaaaaa"

    Returns: { "fezfze", "afcxpvoiuwxcvaazareeaaaaaaaaaaaaaaaaa" }

  51. "zzzzzzssssssssss"

    Returns: { "zzzzzzssssssssss", "" }

  52. "bb"

    Returns: { "bb", "" }


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: