Statistics

Problem Statement for "AlternatingString"

Problem Statement

A string of zeros and ones is called an alternating string if no two adjacent characters are the same. Examples of alternating strings: "1", "10101", "0101010101".

You are given a String s. Each character of s is a '0' or a '1'. Please find the longest contiguous substring of s that is an alternating string. Return the length of that substring.

Definition

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

Constraints

  • s will contain between 1 and 50 characters, inclusive.
  • Each character in s will be '0' or '1'.

Examples

  1. "111101111"

    Returns: 3

    Among all substrings, there are 5 different alternating strings: "1", "0", "10", "01", "101". The one with maximal length is "101" and the length is 3.

  2. "1010101"

    Returns: 7

    The string s itself is an alternating string.

  3. "000011110000"

    Returns: 2

    Note that a substring must be contiguous. The longest alternating substrings of this s are "01" and "10". The string "010" is not a substring of this s.

  4. "1011011110101010010101"

    Returns: 8

  5. "0"

    Returns: 1

  6. "11111111111111111111111111111111111111111111111111"

    Returns: 1

  7. "01010101010101010101010101010101010101010101010101"

    Returns: 50

  8. "01100101000010101010110101010101010100101010"

    Returns: 16

  9. "1111011001111110111001111111111001111"

    Returns: 3

  10. "0010001"

    Returns: 3

  11. "11111111111111100111111110111111"

    Returns: 3

  12. "00000110101000000000000000000000011010010001001"

    Returns: 6

  13. "000000"

    Returns: 1

  14. "11101111001100111"

    Returns: 3

  15. "11111101110001111001100000011010101111110111110"

    Returns: 7

  16. "000100"

    Returns: 3

  17. "010111111111110111110011"

    Returns: 4

  18. "10000000101000001000010"

    Returns: 5

  19. "0000000000000000000000000"

    Returns: 1

  20. "0000"

    Returns: 1

  21. "1"

    Returns: 1

  22. "1111"

    Returns: 1

  23. "0101100111011110101000"

    Returns: 6

  24. "11111111110111111111111110111111"

    Returns: 3

  25. "1110111110110100110001000110101"

    Returns: 5

  26. "1011010010110"

    Returns: 4

  27. "000000100000001"

    Returns: 3

  28. "0"

    Returns: 1

  29. "000011101111111110101111001111"

    Returns: 5

  30. "101101101"

    Returns: 3

  31. "0000000000000000000000000000000000000"

    Returns: 1

  32. "1001100011100100000001110110011001111001011"

    Returns: 4

  33. "0100101"

    Returns: 4

  34. "010110110101110111001100"

    Returns: 5

  35. "110111011110011111110111111010"

    Returns: 4

  36. "101111111111111111111111"

    Returns: 3

  37. "00000000000110000000000001101010"

    Returns: 6

  38. "111111111111111"

    Returns: 1

  39. "00000001000000000000000000001"

    Returns: 3

  40. "1101100"

    Returns: 3

  41. "11011"

    Returns: 3

  42. "111110111111111010111110111111111111110111111111"

    Returns: 5

  43. "0001000000000000000000100000"

    Returns: 3

  44. "1111001110010100100011111110000111100100100110100"

    Returns: 5

  45. "00101110010000010000101011101000011111011100101001"

    Returns: 6

  46. "11"

    Returns: 1

  47. "000000000000000001000000000000000000"

    Returns: 3

  48. "000000000000"

    Returns: 1

  49. "1111011111"

    Returns: 3

  50. "1000000000000000000000000000000000000000000"

    Returns: 2

  51. "000000010010000000011011100010000011100100110"

    Returns: 3

  52. "11"

    Returns: 1

  53. "1001101111011011111101111001011010111101100111100"

    Returns: 5

  54. "101111001101010110100010111111100111011"

    Returns: 7

  55. "00001000000000010000000010100"

    Returns: 5

  56. "1111110111111110111111111111111111111"

    Returns: 3

  57. "101100000000000011"

    Returns: 3

  58. "11000010101101111010111100010010010011100101011111"

    Returns: 6

  59. "0010001110000010010101100001001111"

    Returns: 6

  60. "111010011100010000000101000110111010"

    Returns: 5

  61. "0001001000001000001000010"

    Returns: 3

  62. "111111111111111011111111111111111111111"

    Returns: 3

  63. "11111111001111111111110111111111011011111"

    Returns: 3

  64. "011"

    Returns: 2

  65. "1111011111111111111111111100111111111111111111111"

    Returns: 3

  66. "01000001000010000010101011001"

    Returns: 8

  67. "11111111111111111111"

    Returns: 1

  68. "00000100100010001001000000001000010001010000010100"

    Returns: 5

  69. "0000000000000000000000000000000"

    Returns: 1

  70. "11111111111111111111111111111101111111"

    Returns: 3

  71. "1100000001010110101100110000100010010111"

    Returns: 6

  72. "11111111111111111111111111111111111111111111111"

    Returns: 1

  73. "10011000100"

    Returns: 3

  74. "11111111111111111110101111111111111111"

    Returns: 5

  75. "000000000000000000000000000001000000"

    Returns: 3

  76. "11111101111111111111111111111111111111111111111111"

    Returns: 3

  77. "10011000101110000000100101011010"

    Returns: 6

  78. "11"

    Returns: 1

  79. "000000000"

    Returns: 1

  80. "00001010000000001000010000010"

    Returns: 5

  81. "0010000111100000011"

    Returns: 3

  82. "00000000000100000000"

    Returns: 3

  83. "10000000110110110100001010010"

    Returns: 5

  84. "1110000000000000000010000100010000000101110010"

    Returns: 4

  85. "010110101101111011101111111111111101"

    Returns: 5

  86. "11011111111101011011110110111111100"

    Returns: 5

  87. "00011011010111111110111010111011110111011110001"

    Returns: 5

  88. "011011101011101100111101111111111110111"

    Returns: 5

  89. "111111111111111110110110110011111111010111011110"

    Returns: 5

  90. "000111001101100000101001010000010000110"

    Returns: 5

  91. "111111111110001111111111"

    Returns: 2

  92. "10100000000000000000000001000000000000100010000"

    Returns: 4

  93. "111111"

    Returns: 1

  94. "11001100"

    Returns: 2

  95. "0001100010010000000001001000110101100100"

    Returns: 5

  96. "111100010111110100111001111110101"

    Returns: 5

  97. "010000010000000000000100100000010000000000000"

    Returns: 3

  98. "1100011010101110111"

    Returns: 7

  99. "110"

    Returns: 2

  100. "1100010010001010010011010001100"

    Returns: 5

  101. "11111111111111111111111110110111111"

    Returns: 3

  102. "1111111"

    Returns: 1

  103. "0000000010000100000101111000100110000"

    Returns: 4

  104. "000000000"

    Returns: 1

  105. "00000000010010000"

    Returns: 3

  106. "001110000100110100101101110010011111111"

    Returns: 4

  107. "1101011111111110111111111111111101111111111111"

    Returns: 5

  108. "01111100000100000"

    Returns: 3

  109. "1101"

    Returns: 3

  110. "000"

    Returns: 1

  111. "0001010101010101"

    Returns: 14

  112. "101"

    Returns: 3

  113. "010000010101010101"

    Returns: 12

  114. "00000"

    Returns: 1


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: