Hide

Problem C
Vanligaste delsträngen

Den här uppgiften går ut på att hitta den oftast förekommande delsträngen i en längre sträng.

Ditt program ska kunna läsa in en längre sträng S som indata, och ange den delsträng d, av n teckens längd, som förekommer flest gånger. Om flera delsträngar av den angivna längden förekommer flest gånger, så ska ditt program ange den delsträng som kommer först alfabetiskt.

Exempel: antag n = 3, och S = "ABCDABCDABADAB", med den vanligaste delsträngen d = "DAB" markerad i fetstil.

Du kan anta att alla tecken i strängen är antingen siffrorna 0-9, versalerna A-Z, eller gemenerna a-z. Korrekt alfabetisk ordning för dessa är "0123456789ABCDEGHIJKLMNOPQRSTUVWXYZabcdefhijklmnopqrstuvwxyz".

Indata

Ett heltal n, på en egen rad, följt av en icke radbryten sträng S.

n kan vara från 1 till längden av S.

S kan vara 1 - 100 000 000 tecken lång, och termineras med radbryt eller EOF.

Du kan anta att alla tecken i strängen är antingen siffrorna 0-9, versalerna A-Z, eller gemenerna a-z. Korrekt alfabetisk ordning för dessa är "0123456789ABCDEGHIJKLMNOPQRSTUVWXYZabcdefhijklmnopqrstuvwxyz".

Utdata

Den vanligaste förekommande delsträngen d av längd n.

Sample Input 1 Sample Output 1
3
ABCDABCDABADAB
DAB
Sample Input 2 Sample Output 2
2
123abcABCDabcd1234
12
Sample Input 3 Sample Output 3
2
ABABBBBCD
BB

Please log in to submit a solution to this problem

Log in