Problem Statement
A k-double string is a non-empty string consisting of two equal length halves, where the first half differs from the second half at no more than k positions. For example, "contestcontest", "oopoop" and "aa" are 0-double strings. "contestkontest" is a 1-double string, and "poorpork", "artbat", and "yesyep" are 2-double strings. Obviously, all 0-double strings are also 1-double strings, all 1-double strings are also 2-double strings, etc.
You will be given a
If the same string exists in several different positions, count it as many times as it exists. Also, k-double substrings can overlap. See the examples for more details.
Definition
- Class:
- KDoubleSubstrings
- Method:
- howMuch
- Parameters:
- String[], int
- Returns:
- int
- Method signature:
- int howMuch(String[] str, int k)
- (be sure your method is public)
Constraints
- str will contain between 1 and 5 elements, inclusive.
- Each element of str will contain between 1 and 50 characters, inclusive.
- Each element of str will contain only lowercase letters ('a'-'z').
- k will be between 0 and 100, inclusive.
Examples
{"aa"}
0
Returns: 1
"aa" is the only 0-double substring.
{"aaaa"}
0
Returns: 4
There are four substrings of even length and all of them are 0-double strings.
{"contest", "kontest"}
1
Returns: 14
Each pair of consecutive letters form a 1-double substring and the whole string form one more 1-double substring.
{"abacaba", "d", "abacaba"}
1
Returns: 34
{"areyouready"}
2
Returns: 18
{"a"}
1
Returns: 0
{"aa"}
2
Returns: 1
{"aaa"}
3
Returns: 2
{"aab"}
4
Returns: 2
{"cabb"}
5
Returns: 4
{"cbbb"}
6
Returns: 4
{"aad"}
7
Returns: 2
{"aabbdc"}
8
Returns: 9
{"dbe"}
9
Returns: 2
{"bb"}
10
Returns: 1
{"efd","c"}
12
Returns: 4
{"edeebaefdcc","aag"}
0
Returns: 3
{"dcabeccabafg","fafhe"}
16
Returns: 72
{"ihcgcifgba","hbicgfhgehdiadd"}
18
Returns: 156
{"agbehdid","eahdbbc"}
20
Returns: 56
{"icckfifbjkkdiihkgeab","kbabbjdhdjdecahachkkc","habeegkjhdbh"}
22
Returns: 696
{"aeebceilcdb","gidijbiadcce","eiblaafaegea"}
24
Returns: 306
{"bkfddfelgdelekmjjmllaeam","lchfkkaa","jffefhilmhihgffjdgh"}
26
Returns: 650
{"ehckhedh","bdncndjki","dajaedhmhkncelkdcc"}
0
Returns: 1
{"oeicbknnlbkcdcladjehjlomfc","jhehoiglh","mlllfnbbihde"}
30
Returns: 552
{"c","ndl","npnfkllnmieoknfibcnbbij","mjdkjbhnjhgkggjknj"}
32
Returns: 506
{"hlhnbbcamjmmqfboiopcagqqlkbdqkmlcg","kependmnonipqogjnkqicli","imkkohqfhigc","ldgjnnbhnmmmmqnlqp"}
34
Returns: 1841
{"ofckocgmhcjjclffokm","aaomqeccemrbrp","nhaqrjaolqlfbngepbgoinigrerremplckr","jahfa"}
36
Returns: 1332
{"gablkobidpnlmpfg","raldoeojcisihkpkdpqhfpaoggqpcilgjiqap","khkaeskdlljks","b"}
38
Returns: 1122
{"gielldmtgoona","tttfjttrslotcrprmccinsbk","ddpenjimco","joblodkpaqgcreqljomkbmatoecpkt"}
40
Returns: 1482
{"bbcokbapkekmgjsnppaqrgoiatjdmmhhpggtcraq","aebtkq","ooasjbgpsgjkcl","nfgiliudabtnklftbsstthujunmhcmrrtglr","outpqhkjefchoggfbakinnbtjot"}
42
Returns: 3497
{"bnkoimragqabgvndq","ilfltjjjduogbrucejgqvptffpnrbqmdhqfehbrva","vnkdsaeiisqtkalnaulig","elcnnfpovstpljgur","tnmiudeqboqtjjofmj"}
44
Returns: 3114
{"saqwddmppwwwaheujifkjvmqdawuedhbcs","gsbljhudsgunbmmjlsqdvvekfhbvijo","hhvamfknehd","wklvielfldrpdbovgujmdbgrbgmbupgfkkpgpvavhvd","ubutvpcuhtnrrlhasuoetfjqki"}
46
Returns: 4681
{"ractorelmrugqwmisah","cflimcmk","nscjeuudjoutnogivvajoqbojowpduboluwp","veqptmtopcaarnhfruevwgdkgothmkpih","pxocnqcftcmeldgcgogonduuwemrgihhnguaixu"}
48
Returns: 4267
{"edjpnovxcvsbpkelvocwvxxvvnnnbvdmmyowfebt","akcpadvqcn","xtgennm","yjjpstekoytxkjyiwptrufibpnsadrcjiepyahuc","wrsohefbjblwrwbalekvxoayujcnhjoijqx"}
50
Returns: 4156
{"ufbxjfzjymmrwneystelujapvdtabfwgumcrtiqztldoig","njncgxnbdpmefbmxbahhapunciecjokesttzepkrvaoqnt","ubyfkdtryifvjzjbfcxedjsytupnnkdtgwbudpvzqgbwhy","cdbilywllahbclgxwaeipoeqowjymkfewxagtibizbsmjy","bjlugtwsigpkejttlbiecrsmbcqfnzpxkeolejpebfgnux"}
7
Returns: 1613
{"ufbxjfzjymmrwneystelujapvdtabfwgumcrtiqztldoig","njncgxnbdpmefbmxbahhapunciecjokesttzepkrvaoqnt","ubyfkdtryifvjzjbfcxedjsytupnnkdtgwbudpvzqgbwhy","cdbilywllahbclgxwaeipoeqowjymkfewxagtibizbsmjy","bjlugtwsigpkejttlbiecrsmbcqfnzpxkeolejpebfgnux"}
92
Returns: 12852
{"unuzipwtfmvdyxwahaanpjvlrtizdwazemsazbueziptrgc","vmwdmrhckvetgowivnogroqoavngdpzwpahcjjpyfhdbmhm","obuqtvrojcnnwsijmvvkqlhitgcbftdgimrossihfiphmto","rmvfosamsqendwvfgbfpdypkomvczinndhnmjcdeuvogyeh","cpvfhrzrtcaijjiunqaavzgleciuaswdgfumpvbahtqfjux"}
8
Returns: 1934
{"nycpcydapxqcuenjxfwpvaqcjmhpeujyrxhluahxlldpukk","qayfyhtebvmlvghjudnqleuqfjxnzgbsffpiiuspnhtnadm","ixlpxgeakylpeotuszkgbzdxbxfbsbquvyucdcgggpairzy","eybbiofzvmnjopuucztuxunyvqpxrtdfebnvmmiclpuyquu","yppejanwmsrwyywlahuezxbbxcseoopkyituuffisbjuuzr"}
94
Returns: 13418
{"ngvrbiakxxblxngmnmsrqylxdcxqelprzxxuduneshpwclxw","bsboobdtgmacigpoluxlyyaxykknjuubmzhcqqstagbsqcja","uewkygqgsdqfydhrchxmrnerwrrzpcfqgcyuxhmbisxnjtpy","kjxcemahqvpnvblmdjegznqaukgtqbpuiopkptzigooqnsnn","hlxdbjxnwewbjectvurhofkahzyazcychyywfubetxstgdjc"}
9
Returns: 2165
{"eeyqmfoimuxdijmhrqruwlswvgvjspypzzcaectnpybgjlfs","xvdvzslbbmyvgerprwvxesucsmckvtznratcmudisxhlflyp","nqjovufgpmvtamrvcpvkeiazvbvubxubaokujrdjopkyizoc","oboooluwsljhnplzpnvdppqjsvhaqncjhisuqwueftmbenbl","eozzftccyymatayldatuviicsbdzmflksabtefjqodcrjlpj"}
96
Returns: 13986
{"emtslpkrtugokrfjgxowojntrylkvgdiizsjmvzvvumnrltzk","pxmgzltkoocidykzdbxaveujzyzyodjykptirgqlmvbrbvhpx","itoylmtajidvdnsprxryfrmrwryhctnpfmypivuyrorbzdkwe","otciqzrhcooxqyafvpervopvqbkqqsjywdedrnqhxkhxhudag","tkiqwfopdygzxvjamlaaknjrozstfsuhrybzncckrshochpbe"}
10
Returns: 2471
{"drmmmospzreibqcbnczpimzghankqglbjxugqqiycedvsleaa","fkopdmnhjvhehczdihvnnysmojhoesuckyqtaxvdwdahbhfau","jhjhvvfkslsvqkvoaladsknsvxgedpxqpiasslzzxspvvbrww","odesjiwjupqmmumbrlkpmaijrstzvkfksrgbaqwyjsxhojksf","bmmubklsbfhfnfkiqaxhicotksasqrpqdoyyrhzcuvhdhgfqq"}
98
Returns: 14595
{"xvqwrnbzqfrdyawiuodbomappqupksiivlskejslcgdsvcifia","viqvxbljbncbjoakxhtdlouqbgwgdsqegkeqbsojorqbdoeomn","etstzkldtgtsvpkekvqznrwyvjbijclkxdrgdmgrsgbfatphrn","lcgncdqjoufaswhlieemkszggmhoxdugmiqtctlwtnoplxkxbk","krctslmaieckqdaslccjuimogbaikyudlfkfbjiujcntmjiybs"}
1
Returns: 271
{"xiesqvfhbfwhrjoeoblxanjzzhoohjxuejkqpxiwpnhhfdgoly","ecfiynsgybacvykyieczneoqgbpuvccolzivvfagmhttmgmxko","ugjgpikynpsgnorghrhmfkvcaqkuibszqegiovrmybgdfbjpsc","lptycrpjpjkbzkdghhmzmjbmcyklpbvqtebwnzzgzqptpewtsu","neamxovvsjuakvpxadndrvavetohikjkohhqmuzoltxnlqvqrb"}
100
Returns: 15179
{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
0
Returns: 15625
{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
100
Returns: 15625
{"abbbaaabaaaabbbaaabababbbbbaabbaabbbaaaaaaaabbbbba","bbaaabbbabaabbbbbababbbbaabbaaabbbababaabababbbabb","baaababababaabaabaabaaababaabbbaaaaaabbaabbbaaabba","aaabbaabbbbabababbaabbabbabbbaababbbbaaababaabbbaa","bbababababbabaaaaaabbaababaabbabbaaaaababbabbabbbb"}
0
Returns: 235
{"ddacbdddbbdddccaabcaaddaadaaddabdbabbbddaaadcdcdca","cbdabacbdbcaacbdaaddcdccbbaacaaccabbbdcdabadabcdab","aaabdbbdacbdcccdbdabdcabbcbdcbcbcddaaadbacbdbbdbdb","abcadbdaabbddcabccccaccddaacacadabcdcbbcbbcdabdbcc","dbcabbcdccbbabbcddcbbbcbcaabdcdbcbcdabdbacbddccddc"}
100
Returns: 15624
{"fhehddgfgfbfadadfceaadhcaaeecebafghfdfcegcgcdhddhf","ebgaefefgghgcdahdcfhgafcahbgghgagefddeahdhchdadeae","dfahffgfebaggecdhcedgehgedchfhdhgedebfbaddgfdabhce","dbdcbeehgcfeehbfbebadfccdhfaghhghaggbgehhefffchaaa","hehdeeebhehgeaehdgbbhcbecfgacgfffbabbffdbgffhdbebf"}
100
Returns: 15467
{"adfjpljckiajabmiecdokegnkafclinfcflkgpdggcbfgficfb","cpmiffehmcdbgkkpkoecnlhfmgfibfdlgdedamnhonbepimgbf","gledbcjdhfndjnlfcmnilmgmldhpdhkkbpopphkolbgofajdbm","ikababdcbfjojebfpcjoobikopmbabonpekdpognogehnmkcon","aombgfhbipkjkchebaokaiidglhiahhoopnkomgjmbmghfgocc"}
100
Returns: 15274
{"buqfgbuzwwwjrxpouplspmwgcrvitjklxespkhhfnabeweqicf","tvkrbguozzadrwfehyyetlbwxebbsdpeydectydazzvjpylrfv","dksypsrlexdbhrmlpdvfrbgyewkytqsisiqmgvuoutsmvcwxxc","uwmuhuvlaylajawtjemhrgvjxaxnvnhysjhcdpdnxhwarosjho","fdgdnaonjprftvwvbajrxtkqbmxmcplomwlgkjxbtwyqwkcerw"}
100
Returns: 15184
{"abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab", "bcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcaba", "cabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabca", "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab", "bcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcaba" }
1
Returns: 1540
{"aaaaaaabbbbbb", "fffffhhhhbbbbccc", "aa" }
3
Returns: 97
{"asdf", "dfghfgh", "jghjghjfhksdfgsd", "sdfgsdfgsdfg", "sdfsdf" }
2
Returns: 132
{"abcdefghijklmnopqrstuwxyz" }
7
Returns: 126
{"aa" }
5
Returns: 1
{"areyouready" }
2
Returns: 18
{"aagsdfhhhhdgfgggggdfdgdfffff" }
1
Returns: 49
{"aa" }
2
Returns: 1