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
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
"<--->--==>"
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.
"<<<<<<<<<<"
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.
"----==-"
Returns: -1
No arrows contained.
"<----=====>"
Returns: 6
">----=====<"
Returns: 1
"=========>"
Returns: 10
s is an arrow itself. There are several other arrows, but everyone is of course smaller.
"<---"
Returns: 4
"<=============================="
Returns: 31
"---------------------------------------->"
Returns: 41
"<-==>"
Returns: 3
"<=-->"
Returns: 3
"->==>"
Returns: 3
"=>-->---------------------"
Returns: 3
"=><--"
Returns: 3
"=><==->------<-======->====<-==="
Returns: 3
"-><--<<<<>----------==================<=->"
Returns: 3
"-><==-------------------------=>"
Returns: 3
"<=<--<><><<<<<<<-><<<<<<-<->"
Returns: 3
"<-<--<<<<<<<->>>>>>>>>>"
Returns: 3
"<-<==<>>>>>>>>>>"
Returns: 3
"<=<==<<<<<<<<<<"
Returns: 3
"-"
Returns: -1
"="
Returns: -1
"<"
Returns: 1
">"
Returns: 1
"-=-<-<=><>=>=>>==->><>>-<>=>==-<=->=<<-->--><<-<=="
Returns: 3
"<-<->--=-<=<<--===--<-=-=->>><<-<=<>==>>>=>>>-<--<"
Returns: 3
">=<"
Returns: 1
"->----=-<===->>=<=>--<-="
Returns: 4
">==--=><=-><><<>==-=>=<=<>>=>=<---<=><--=-==<==>-"
Returns: 4
"-<-><-<=<<<><=<----><-=><-=->-==<<=-<-<"
Returns: 5
"<<-<><->=-=-======>=<<<>>-<=<>"
Returns: 7
"<-<==<=->>>>><<--<<<<<--===<<<<>>=<->--><-<><---<>"
Returns: 4
"<-<-->>---><<=<>=<->>-<<-<>>>><>>-=="
Returns: 4
"<->>-->>->=-<=-<=-<<-<<>==<=-==<<-->=<"
Returns: 3
"=<>--=<<><><<--=--->-<-<=<->>---->=<<<<--->-<<<=-"
Returns: 5
"==>>===-<-<---<==<-=-=->==---->->==-=>---===-==->>"
Returns: 5
"<--=<>-=<--<--=->=-=---==-=<--->><==-===>="
Returns: 4
"=-==---======-><=-==<--=<=--=-====>===->"
Returns: 5
"-==>-<--=<=---<>---=<=<=-=-<--=<-====-=---=>>=-=>"
Returns: 3
"-=-===<=<=-<<>--->=<><=-=<-=--=->="
Returns: 4
"==<>>==<->--===->>=>-=<-====<=>><><<====><>===<=>>"
Returns: 5
"===-<="
Returns: 2
"<-=<=>>>->>==>=<===><===>==-==><==-=<>-=>===-="
Returns: 4
"<=>==<====--<=>=>>-=>==>===-=<====-==-<>-<=<====<"
Returns: 5
"-<==><>="
Returns: 3
">>--<-<-----=-=-=--<>->--==>-<-<--<------<------<>"
Returns: 7
"-=-<==-->>=<--><-<-<-==->--"
Returns: 3
"--=->--=----<-=-<-"
Returns: 2
"---<->>=----=-->=>-<=---->->=-<>-=><-->=--->>----"
Returns: 5
"=----=<--<=-<-"
Returns: 3
"============================================>===>-"
Returns: 45
"----=<=>-><-------=>======><-"
Returns: 8
"==>><="
Returns: 3
"===========================================<===--"
Returns: 4
"-------------->->=====----------<=========<>"
Returns: 15
"--------========<---<-------=-<----<---<<=---<===<"
Returns: 8
"<====<-="
Returns: 5
"=======>>---><"
Returns: 8
"<===================================>==<-----<>=<"
Returns: 36
"---------<--<--------<==>"
Returns: 9
"====================>--------->==================="
Returns: 21
"=====>----"
Returns: 6
"========"
Returns: -1
"<==============================================<<"
Returns: 47
"<==========================<>===="
Returns: 27
"-------------"
Returns: -1
"----------------------=========================---"
Returns: -1
"-----===------------=================--==---"
Returns: -1
"================---------------------------===="
Returns: -1
"------------------==========================-===-"
Returns: -1
"===---=--"
Returns: -1
"<<<>>>><><<<<>><<>><<<<>><>>><<<>>>><><<<<<>>><>>>"
Returns: 1
"><<><<<<><>><>>><<<>><>><><><><<>><<<<<<><<><><><>"
Returns: 1
"=================================================>"
Returns: 50
"<================================================="
Returns: 50
"------------------------------------------------->"
Returns: 50
"<-------------------------------------------------"
Returns: 50
"<"
Returns: 1
">-"
Returns: 1
"-"
Returns: -1
">"
Returns: 1
"-<==="
Returns: 4
"<------------"
Returns: 13
"---<--"
Returns: 3
">>"
Returns: 1
"---------------<--"
Returns: 3
"<-->--------"
Returns: 3
"<-"
Returns: 2
"<---->--"
Returns: 5
"<-------------------------"
Returns: 26
"<<-"
Returns: 2
"<>-"
Returns: 1
">====="
Returns: 1
"<--==------"
Returns: 3
"=><---------"
Returns: 10
">--"
Returns: 1
"<=<==<===<====<=====<======<=======<=============="
Returns: 15
"----==-"
Returns: -1
"<>===="
Returns: 1
"--<"
Returns: 1
"----<"
Returns: 1
"=============->"
Returns: 2
"<>"
Returns: 1
"<------"
Returns: 7
"<-----------------------------------------"
Returns: 42
"<---<"
Returns: 4
"<<<<<<<<<<"
Returns: 1
"<--"
Returns: 3
">---"
Returns: 1
"<-======"
Returns: 2
"----------------<"
Returns: 1
"-<===---==--==->=======------------============-="
Returns: 4
"-->"
Returns: 3
"<--=>"
Returns: 3
"---<"
Returns: 1
"=>"
Returns: 2
">-------"
Returns: 1
"<<<----==--===--->><<<--<<--<<-->>>"
Returns: 5
"<><-><---><-=--><<>><><-<->--<<-<-"
Returns: 4
">========="
Returns: 1
">-----"
Returns: 1
"<>>>>"
Returns: 1
"<==========="
Returns: 12
"<-=-=-=-=-=-=--=-=-="
Returns: 2
"<======"
Returns: 7
"-----<"
Returns: 1
"<=="
Returns: 3