Statistics

Problem Statement for "RepeatingFreeStrings"

Problem Statement

A binary string s is called "repeating free" if no proper prefix equals a proper suffix of the same lengh. A substring is called "proper" if it differs from the whole string. For example, strings "0101011", "10", "10111100" are repeating free, but the string "01101011" is not.

Return the k-th string among all repeating free strings with length n in lexicographical order (k is a 0-based index). Return an empty string if it doesn't exist.

Definition

Class:
RepeatingFreeStrings
Method:
kthString
Parameters:
int, int
Returns:
String
Method signature:
String kthString(int n, int k)
(be sure your method is public)

Constraints

  • n will be between 1 and 50, inclusive.
  • k will be between 0 and 2000000000, inclusive.

Examples

  1. 2

    0

    Returns: "01"

    All repeating free strings of length 2 are "01" and "10".

  2. 2

    1

    Returns: "10"

  3. 3

    2

    Returns: "100"

    All repeating strings of length 3 are "001", "011", "100", "110".

  4. 5

    2

    Returns: "00101"

  5. 10

    75

    Returns: "0010110011"

  6. 15

    5000

    Returns: "101010001011100"

  7. 20

    102404

    Returns: "01000011010110010111"

  8. 25

    89438

    Returns: "0000000101011111001010111"

  9. 18

    1000000000

    Returns: ""

  10. 1

    0

    Returns: "0"

  11. 2

    0

    Returns: "01"

  12. 3

    3

    Returns: "110"

  13. 4

    3

    Returns: "1000"

  14. 5

    4

    Returns: "01011"

  15. 6

    11

    Returns: "101000"

  16. 7

    4

    Returns: "0001001"

  17. 8

    12

    Returns: "00011011"

  18. 9

    47

    Returns: "001110101"

  19. 10

    9

    Returns: "0000010011"

  20. 11

    247

    Returns: "01010111111"

  21. 12

    591

    Returns: "100110110000"

  22. 13

    1854

    Returns: "1110011000100"

  23. 14

    4240

    Returns: "11111010001010"

  24. 15

    2196

    Returns: "001010000010101"

  25. 16

    732

    Returns: "0000010111010111"

  26. 17

    7883

    Returns: "00100011100011101"

  27. 18

    16010

    Returns: "001001000100011111"

  28. 19

    95931

    Returns: "1100100010110101000"

  29. 20

    88209

    Returns: "00110110010001001111"

  30. 21

    462365

    Returns: "111001001100100100010"

  31. 22

    321551

    Returns: "0011000000001010101101"

  32. 23

    511032

    Returns: "00100100001111001000011"

  33. 24

    4172883

    Returns: "111101011100110101101100"

  34. 25

    1857833

    Returns: "0010000001101110011101111"

  35. 26

    11182940

    Returns: "10111000111001011100101100"

  36. 27

    27150413

    Returns: "110110001000101010111101010"

  37. 28

    51419304

    Returns: "1101000001000100101101101010"

  38. 29

    82199165

    Returns: "10101010100110001101110110000"

  39. 30

    77023615

    Returns: "001011000010000111101000011011"

  40. 31

    364351319

    Returns: "1011110000001111000111100000000"

  41. 32

    240580643

    Returns: "00100000111000011111001111110111"

  42. 33

    1047812351

    Returns: "010111011101011100110101010110011"

  43. 34

    277579255

    Returns: "0000100010001110110010111011110111"

  44. 35

    2000000000

    Returns: "00100010011000101011101110101001011"

  45. 36

    2000000000

    Returns: "000011111110001011000001000111011101"

  46. 37

    2000000000

    Returns: "0000011110101110010100100000011000101"

  47. 38

    2000000000

    Returns: "00000011110001111111011111100010110001"

  48. 39

    2000000000

    Returns: "000000011110000001011011011001101100001"

  49. 40

    2000000000

    Returns: "0000000011101111010010101100010110001011"

  50. 41

    2000000000

    Returns: "00000000011101110110110101000011010011111"

  51. 42

    2000000000

    Returns: "000000000011101110101000101011110101010011"

  52. 43

    2000000000

    Returns: "0000000000011101110100001101110100001110111"

  53. 44

    2000000000

    Returns: "00000000000011101110011110010000011010100101"

  54. 45

    2000000000

    Returns: "000000000000011101110011100100001010100010011"

  55. 46

    2000000000

    Returns: "0000000000000011101110011011101001111001110001"

  56. 47

    2000000000

    Returns: "00000000000000011101110011011001110001001000111"

  57. 48

    2000000000

    Returns: "000000000000000011101110011011000000010100100111"

  58. 49

    2000000000

    Returns: "0000000000000000011101110011010111001011000011101"

  59. 50

    2000000000

    Returns: "00000000000000000011101110011010110101111100010011"

  60. 1

    2

    Returns: ""

  61. 2

    3

    Returns: ""

  62. 3

    6

    Returns: ""

  63. 4

    9

    Returns: ""

  64. 5

    13

    Returns: ""

  65. 6

    22

    Returns: ""

  66. 7

    44

    Returns: ""

  67. 8

    77

    Returns: ""

  68. 9

    156

    Returns: ""

  69. 10

    285

    Returns: ""

  70. 11

    574

    Returns: ""

  71. 12

    1125

    Returns: ""

  72. 13

    2244

    Returns: ""

  73. 14

    4428

    Returns: ""

  74. 15

    8855

    Returns: ""

  75. 16

    17637

    Returns: ""

  76. 17

    35260

    Returns: ""

  77. 18

    70342

    Returns: ""

  78. 19

    140691

    Returns: ""

  79. 20

    281093

    Returns: ""

  80. 21

    562168

    Returns: ""

  81. 22

    1123740

    Returns: ""

  82. 23

    2247488

    Returns: ""

  83. 24

    4493838

    Returns: ""

  84. 25

    8987661

    Returns: ""

  85. 26

    17973090

    Returns: ""

  86. 27

    35946176

    Returns: ""

  87. 28

    71887905

    Returns: ""

  88. 29

    143775810

    Returns: ""

  89. 30

    287542757

    Returns: ""

  90. 31

    575085480

    Returns: ""

  91. 32

    1150153337

    Returns: ""

  92. 1

    1

    Returns: "1"

  93. 4

    5

    Returns: "1110"

  94. 7

    39

    Returns: "1111110"

  95. 11

    567

    Returns: "11111111110"

  96. 14

    4423

    Returns: "11111111111110"

  97. 16

    17621

    Returns: "1111111111111110"

  98. 20

    281075

    Returns: "11111111111111111110"

  99. 24

    4493827

    Returns: "111111111111111111111110"

  100. 28

    71887895

    Returns: "1111111111111111111111111110"

  101. 30

    287542735

    Returns: "111111111111111111111111111110"

  102. 31

    575085471

    Returns: "1111111111111111111111111111110"

  103. 1

    2000000000

    Returns: ""

  104. 2

    2000000000

    Returns: ""

  105. 5

    2000000000

    Returns: ""

  106. 13

    2000000000

    Returns: ""

  107. 1

    2

    Returns: ""

  108. 1

    3

    Returns: ""

  109. 1

    4

    Returns: ""

  110. 2

    1

    Returns: "10"

  111. 2

    2

    Returns: ""

  112. 2

    3

    Returns: ""

  113. 2

    4

    Returns: ""

  114. 2

    5

    Returns: ""

  115. 3

    4

    Returns: ""


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: