文字列内のすべての一意の繰り返しを取得し、それらを長さと繰り返し頻度 (数) で並べ替える最良の方法を考えています。
私はこのコードから始めています
public static void main(String[] args)
{
String s = "AAAABBBBAAAANNNNAAAABBBBNNNBBBBAAAA";
Matcher m = Pattern.compile("(\\S{2,})(?=.*?\\1)").matcher(s);
while (m.find())
{
for (int i = 1; i <= m.groupCount(); i++)
{
System.out.println(m.group(i));
}
}
}
そして、そのような出力を持つためのいくつかの提案をしたいと思います:
AAAA 4 1,9,17,33など
ここで、4 = 繰り返し回数、1、9、17、33 の位置
私はあなたの助けに感謝します