Problem Statement
She will choose a TopFox handle according to the following rule. Let s be a non-empty prefix of her family name and let t be a non-empty prefix of her given name. Now Fox Ciel may choose the concatenation of s and t as her handle.
For example, suppose Fox Ciel's family name is "fox" and her given name is "ciel". She may choose the handle "foxciel", "fc", or "foxc". She may not choose "ox", "ciel", or "jiro".
You are told Fox Ciel's family name and given name. Return the number of possible handles Fox Ciel may choose.
Definition
- Class:
- TopFox
- Method:
- possibleHandles
- Parameters:
- String, String
- Returns:
- int
- Method signature:
- int possibleHandles(String familyName, String givenName)
- (be sure your method is public)
Constraints
- familyName will contain between 2 and 10 characters, inclusive.
- Each character in familyName will be a lowercase English letter, i.e., 'a'-'z'.
- givenName will contain between 2 and 10 characters, inclusive.
- Each character in givenName will be a lowercase English letter, i.e., 'a'-'z'.
Examples
"ab"
"cd"
Returns: 4
There are 4 possible handles: "a" + "c" = "ac", "a" + "cd" = "acd", "ab" + "c" = "abc" and "ab" + "cd" = "abcd".
"abb"
"bbc"
Returns: 7
There are 7 possible handles: "ab", "abb", "abbc", "abbb", "abbbc", "abbbb", "abbbbc".
"fox"
"ciel"
Returns: 12
"abbbb"
"bbbbbbbc"
Returns: 16
"abxy"
"xyxyxc"
Returns: 21
"ababababab"
"bababababa"
Returns: 68
"bba"
"bbaabbbbba"
Returns: 29
"cecebdceea"
"dbbaccef"
Returns: 80
"bcadbadaa"
"aacd"
Returns: 32
"ndanlhbaf"
"hifbnml"
Returns: 63
"ababacb"
"ccccb"
Returns: 32
"cbcbac"
"bacbaba"
Returns: 40
"mtskwilg"
"ruabtek"
Returns: 56
"abbaabb"
"baaaaa"
Returns: 42
"fjj"
"njjhcak"
Returns: 21
"ccca"
"ade"
Returns: 12
"qbrrlgmih"
"ccm"
Returns: 27
"dbbdbdbbbd"
"dab"
Returns: 30
"cbddbbcabc"
"ab"
Returns: 20
"ba"
"cbbbbb"
Returns: 12
"baabccaacc"
"bb"
Returns: 19
"adddc"
"cabcbadcdd"
Returns: 50
"ee"
"mdfi"
Returns: 8
"daacbc"
"db"
Returns: 12
"aaaaca"
"bcbbbcb"
Returns: 42
"aa"
"cbcbcba"
Returns: 14
"aaadbbe"
"bbebbebebd"
Returns: 64
"cabccbcc"
"bccbccbaa"
Returns: 64
"ldjemg"
"emgemgeml"
Returns: 49
"ddcbbbcaba"
"bababa"
Returns: 56
"fmbgeoana"
"nananqgqad"
Returns: 87
"cacabcb"
"abcbabcbac"
Returns: 65
"bfackmgh"
"kmghkmghkj"
Returns: 75
"fknprnkfil"
"ililikfr"
Returns: 77
"cjkmjsmgh"
"mghmghmhc"
Returns: 77
"ababbaaba"
"abaabaabbb"
Returns: 83
"baaabaacc"
"accaccaca"
Returns: 76
"aababbabbb"
"bbbbbbbbba"
Returns: 52
"bbabbabaa"
"aaaaababab"
Returns: 74
"leeckkkcbc"
"bcbcbl"
Returns: 57
"ccccccbcca"
"cacacb"
Returns: 57
"dkafiooln"
"lnlnlfhgco"
Returns: 87
"bcababaccb"
"ccbccbcc"
Returns: 72
"ebeaaaaf"
"afafagee"
Returns: 61
"bggeeb"
"eebeebeeaf"
Returns: 53
"aaaaaaaaaa"
"aaaaaaaaaa"
Returns: 19
"aaaaaaaa"
"aaaaaaaa"
Returns: 15
"aadcabbc"
"bbcbbcbdbc"
Returns: 74
"babb"
"bbbbbaba"
Returns: 24
"linktim"
"imimitllqr"
Returns: 67
"aaaaaaaaa"
"aaaaaaacb"
Returns: 33
"bcgnmhgk"
"gkgkgfn"
Returns: 53
"abbaaaaab"
"aabaabaa"
Returns: 62
"ccbddc"
"ddcddcddcd"
Returns: 51
"eeecdbad"
"adadaaceca"
Returns: 77
"ghkhdfk"
"fkfkfjbckd"
Returns: 67
"aaa"
"aaa"
Returns: 5
"aaaaaaaaaa"
"bb"
Returns: 20
"faohfuae"
"eeafa"
Returns: 39
"ji"
"ro"
Returns: 4
"aaa"
"aab"
Returns: 7