Problem Statement
You are given a
(The two substrings must be non-empty. Each substring must be contiguous.)
Definition
- Class:
- EqualSubstrings2
- Method:
- get
- Parameters:
- String
- Returns:
- int
- Method signature:
- int get(String s)
- (be sure your method is public)
Constraints
- s will consist only of lowercase English letters ('a'-'z').
- The length of s will be between 1 and 50, inclusive.
Examples
"aa"
Returns: 1
There is exactly one way how to choose two non-empty and non-overlapping substrings. In this case they happen to be equal (both are "a"), so the correct return value is 1.
"abcd"
Returns: 0
Regardless how we choose two non-overlapping substrings, they will always differ.
"aba"
Returns: 1
One pair: ("a", "a").
"abab"
Returns: 3
Three pairs: ("a", "a"), ("b", "b"), ("ab", "ab").
"aaaab"
Returns: 7
The 7 ways to select the two equal substrings are shown below. Each row represents one way. The characters 1 and 2 denote characters selected to form the first and second substring, respectively. aaaab ----- 12... 1.2.. 1..2. .12.. .1.2. ..12. 1122. (In the first six ways, the two selected substrings are "a" and "a". In the last way the selected substrings are "aa" and "aa".)
"onetwothreeonetwothree"
Returns: 86
"icynidbmrrkkbfekrkwhfanyctmcakxodbcveezajnspipbyjk"
Returns: 52
"gtuqszkamyuqnvruzvtpqvnlqbyufxcpvifkkrmcxomsyka"
Returns: 43
"sculalhmrqxbujpyuxhrpferomyobaeogaizlvinunadtcqlw"
Returns: 35
"cnazrmcrwumakipbyrknlauufncwvelvhxcubyqmrjeuyjymle"
Returns: 52
"qdufzsmnbxeovaloxxxwvojnzyafqkqqrekqdrxlhskciqhg"
Returns: 44
"imbqcgqgyagishctkckrrezrezppxmyaiwspkmhqetuazztt"
Returns: 49
"kwsdwblolvnklgyokzygfmzbnmqifrmlcjdiqtkbmbsmjdo"
Returns: 45
"huoiosslhwoqsikbfdanvpxeprbpreklhtboqtyjwsakxmhw"
Returns: 42
"bbabbbacabcaaabcaccabbbabcaabcccbacacbbbaacbcbcbab"
Returns: 555
"aaaaaaabaabcbcaaacbcbababccbacacbababaccbbcababab"
Returns: 604
"bccaaabbccabcbbbabaacaccbcacabababaaaabaaaabbacba"
Returns: 574
"aabcaacabbaaabbcaacabbcbbaaacaaabaacacccbbcbbcabac"
Returns: 615
"bbcabcacbabcacbbaccccabccaaacbbbbcccababcaccaaba"
Returns: 525
"accabaababbabbacbccaccabbccbbaaaacabbbcaababaaabaa"
Returns: 605
"cbbabbaaacbbcaccccabbcccbacabbabababaaacacaabcabc"
Returns: 519
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: 10725
"aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbb"
Returns: 1430
"e"
Returns: 0
"ej"
Returns: 0
"rzzzrzzzrrzzzzrrzz"
Returns: 145
"aaaaaaaa"
Returns: 50
"dcccd"
Returns: 4
"aaaaaaa"
Returns: 34
"aaaabaaaaaaabaaaaaaaaaaaaabaaaaaaaaaaaabaaaaaaaaaa"
Returns: 3834
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: 5950
"aaaaaaaaaaaaaaaaaaaa"
Returns: 715
"aaaaa"
Returns: 13
"aaaaaaaaaaadaaaaacaaaaaaaaaabaaaaaaaaaaaaaaa"
Returns: 2891
"ababab"
Returns: 10
"kaszzzjdnaaaabkjsdzzzzanzflaaaaaa"
Returns: 142
"aaaaaaaaaaaaa"
Returns: 203
"ababababababababababababababababababababababab"
Returns: 4180
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: 2360
"aaaaaab"
Returns: 22
"aaaaaa"
Returns: 22
"bbbb"
Returns: 7
"aaaaaabbbaaabaabaabaaaab"
Returns: 277