Statistics

Problem Statement for "Arrows"

Problem Statement

In this problem, a left single arrow is defined as a "less than" character ('<') immediately followed by zero or more consecutive hyphen characters ('-'). A left double arrow is a "less than" character ('<') immediately followed by zero or more consecutive equals characters ('='). A right single arrow is zero or more hyphen characters ('-') immediately followed by a "greater than" character ('>'). A right double arrow is zero or more equals characters ('=') immediately followed by a "greater than" character ('>'). For example, the following are arrows (quotes for clarity only): "==>", "<-", "<", "<===", "--->", ">". The length of an arrow is the number of characters it contains.

You will be given a String s. Return the length of the longest arrow in s, or -1 if it does not contain any arrows.

Definition

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

Notes

  • Arrows may overlap. See examples for further clarifications.

Constraints

  • s will contain between 1 and 50 characters, inclusive.
  • Each character in s will be one of '<', '>', '-' or '='.

Examples

  1. "<--->--==>"

    Returns: 4

    The arrows contained in s in this case are, by order of appearance: "<", "<-", "<--", "<---", "--->", "-->", "->", ">", "==>", "=>" and ">". Note that many of these arrows, including some pairs with one left arrow and one right arrow, are overlapping.

  2. "<<<<<<<<<<"

    Returns: 1

    All arrows are of length 1. Note that "<" is both a left single arrow and a left double arrow according to the definition.

  3. "----==-"

    Returns: -1

    No arrows contained.

  4. "<----=====>"

    Returns: 6

  5. ">----=====<"

    Returns: 1

  6. "=========>"

    Returns: 10

    s is an arrow itself. There are several other arrows, but everyone is of course smaller.

  7. "<---"

    Returns: 4

  8. "<=============================="

    Returns: 31

  9. "---------------------------------------->"

    Returns: 41

  10. "<-==>"

    Returns: 3

  11. "<=-->"

    Returns: 3

  12. "->==>"

    Returns: 3

  13. "=>-->---------------------"

    Returns: 3

  14. "=><--"

    Returns: 3

  15. "=><==->------<-======->====<-==="

    Returns: 3

  16. "-><--<<<<>----------==================<=->"

    Returns: 3

  17. "-><==-------------------------=>"

    Returns: 3

  18. "<=<--<><><<<<<<<-><<<<<<-<->"

    Returns: 3

  19. "<-<--<<<<<<<->>>>>>>>>>"

    Returns: 3

  20. "<-<==<>>>>>>>>>>"

    Returns: 3

  21. "<=<==<<<<<<<<<<"

    Returns: 3

  22. "-"

    Returns: -1

  23. "="

    Returns: -1

  24. "<"

    Returns: 1

  25. ">"

    Returns: 1

  26. "-=-<-<=><>=>=>>==->><>>-<>=>==-<=->=<<-->--><<-<=="

    Returns: 3

  27. "<-<->--=-<=<<--===--<-=-=->>><<-<=<>==>>>=>>>-<--<"

    Returns: 3

  28. ">=<"

    Returns: 1

  29. "->----=-<===->>=<=>--<-="

    Returns: 4

  30. ">==--=><=-><><<>==-=>=<=<>>=>=<---<=><--=-==<==>-"

    Returns: 4

  31. "-<-><-<=<<<><=<----><-=><-=->-==<<=-<-<"

    Returns: 5

  32. "<<-<><->=-=-======>=<<<>>-<=<>"

    Returns: 7

  33. "<-<==<=->>>>><<--<<<<<--===<<<<>>=<->--><-<><---<>"

    Returns: 4

  34. "<-<-->>---><<=<>=<->>-<<-<>>>><>>-=="

    Returns: 4

  35. "<->>-->>->=-<=-<=-<<-<<>==<=-==<<-->=<"

    Returns: 3

  36. "=<>--=<<><><<--=--->-<-<=<->>---->=<<<<--->-<<<=-"

    Returns: 5

  37. "==>>===-<-<---<==<-=-=->==---->->==-=>---===-==->>"

    Returns: 5

  38. "<--=<>-=<--<--=->=-=---==-=<--->><==-===>="

    Returns: 4

  39. "=-==---======-><=-==<--=<=--=-====>===->"

    Returns: 5

  40. "-==>-<--=<=---<>---=<=<=-=-<--=<-====-=---=>>=-=>"

    Returns: 3

  41. "-=-===<=<=-<<>--->=<><=-=<-=--=->="

    Returns: 4

  42. "==<>>==<->--===->>=>-=<-====<=>><><<====><>===<=>>"

    Returns: 5

  43. "===-<="

    Returns: 2

  44. "<-=<=>>>->>==>=<===><===>==-==><==-=<>-=>===-="

    Returns: 4

  45. "<=>==<====--<=>=>>-=>==>===-=<====-==-<>-<=<====<"

    Returns: 5

  46. "-<==><>="

    Returns: 3

  47. ">>--<-<-----=-=-=--<>->--==>-<-<--<------<------<>"

    Returns: 7

  48. "-=-<==-->>=<--><-<-<-==->--"

    Returns: 3

  49. "--=->--=----<-=-<-"

    Returns: 2

  50. "---<->>=----=-->=>-<=---->->=-<>-=><-->=--->>----"

    Returns: 5

  51. "=----=<--<=-<-"

    Returns: 3

  52. "============================================>===>-"

    Returns: 45

  53. "----=<=>-><-------=>======><-"

    Returns: 8

  54. "==>><="

    Returns: 3

  55. "===========================================<===--"

    Returns: 4

  56. "-------------->->=====----------<=========<>"

    Returns: 15

  57. "--------========<---<-------=-<----<---<<=---<===<"

    Returns: 8

  58. "<====<-="

    Returns: 5

  59. "=======>>---><"

    Returns: 8

  60. "<===================================>==<-----<>=<"

    Returns: 36

  61. "---------<--<--------<==>"

    Returns: 9

  62. "====================>--------->==================="

    Returns: 21

  63. "=====>----"

    Returns: 6

  64. "========"

    Returns: -1

  65. "<==============================================<<"

    Returns: 47

  66. "<==========================<>===="

    Returns: 27

  67. "-------------"

    Returns: -1

  68. "----------------------=========================---"

    Returns: -1

  69. "-----===------------=================--==---"

    Returns: -1

  70. "================---------------------------===="

    Returns: -1

  71. "------------------==========================-===-"

    Returns: -1

  72. "===---=--"

    Returns: -1

  73. "<<<>>>><><<<<>><<>><<<<>><>>><<<>>>><><<<<<>>><>>>"

    Returns: 1

  74. "><<><<<<><>><>>><<<>><>><><><><<>><<<<<<><<><><><>"

    Returns: 1

  75. "=================================================>"

    Returns: 50

  76. "<================================================="

    Returns: 50

  77. "------------------------------------------------->"

    Returns: 50

  78. "<-------------------------------------------------"

    Returns: 50

  79. "<"

    Returns: 1

  80. ">-"

    Returns: 1

  81. "-"

    Returns: -1

  82. ">"

    Returns: 1

  83. "-<==="

    Returns: 4

  84. "<------------"

    Returns: 13

  85. "---<--"

    Returns: 3

  86. ">>"

    Returns: 1

  87. "---------------<--"

    Returns: 3

  88. "<-->--------"

    Returns: 3

  89. "<-"

    Returns: 2

  90. "<---->--"

    Returns: 5

  91. "<-------------------------"

    Returns: 26

  92. "<<-"

    Returns: 2

  93. "<>-"

    Returns: 1

  94. ">====="

    Returns: 1

  95. "<--==------"

    Returns: 3

  96. "=><---------"

    Returns: 10

  97. ">--"

    Returns: 1

  98. "<=<==<===<====<=====<======<=======<=============="

    Returns: 15

  99. "----==-"

    Returns: -1

  100. "<>===="

    Returns: 1

  101. "--<"

    Returns: 1

  102. "----<"

    Returns: 1

  103. "=============->"

    Returns: 2

  104. "<>"

    Returns: 1

  105. "<------"

    Returns: 7

  106. "<-----------------------------------------"

    Returns: 42

  107. "<---<"

    Returns: 4

  108. "<<<<<<<<<<"

    Returns: 1

  109. "<--"

    Returns: 3

  110. ">---"

    Returns: 1

  111. "<-======"

    Returns: 2

  112. "----------------<"

    Returns: 1

  113. "-<===---==--==->=======------------============-="

    Returns: 4

  114. "-->"

    Returns: 3

  115. "<--=>"

    Returns: 3

  116. "---<"

    Returns: 1

  117. "=>"

    Returns: 2

  118. ">-------"

    Returns: 1

  119. "<<<----==--===--->><<<--<<--<<-->>>"

    Returns: 5

  120. "<><-><---><-=--><<>><><-<->--<<-<-"

    Returns: 4

  121. ">========="

    Returns: 1

  122. ">-----"

    Returns: 1

  123. "<>>>>"

    Returns: 1

  124. "<==========="

    Returns: 12

  125. "<-=-=-=-=-=-=--=-=-="

    Returns: 2

  126. "<======"

    Returns: 7

  127. "-----<"

    Returns: 1

  128. "<=="

    Returns: 3


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: