试题 算法训练 字串统计
给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。
输入格式
第一行一个数字L。
第二行是字符串S。
L大于0,且不超过S的长度。
输出格式
一行,题目要求的字符串。
输入样例1:
4
bbaabbaaaaa
输出样例1:
bbaa
输入样例2:
2
bbaabbaaaaa
输出样例2:
aa
思路
使用TreeSet可以判断该字符串中有多少种不同的长度为L的子串,再通过对字符串的剪切比较计数,取出最大的那个即可。如果有多个字串出现次数一样,则输出最长的,如果仍有多个,就输出第一个
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public class Main {
static Set<String> set = new TreeSet<String>();
static int max