定義
OEIS A006345の説明から:
見つける
a(n)
には、1
またはのいずれかを検討してください2
。それぞれについて、最も長い繰り返しの接尾辞を見つけます。つまり、それぞれについてa(n)=1,2
、s
シーケンスがでa(1),...,a(n)
終わるプロパティを持つ最も長いシーケンスを見つけますss
。そのような接尾辞が短くなる数字を使用します。a(1) = 1
。
完成した例
a(1)=1
。
の場合a(2)=1
、1 1
最後から2倍になった部分文字列が最も長いシーケンスになり1
ます。場合はa(2)=2
代わりに、それは空のストリングになります。したがってa(2)=2
。
ときn=6
、我々は、のいずれかを選択1 2 1 1 2 1
して1 2 1 1 2 2
。最初の選択肢で1 2 1
は、末尾から連続して2倍になります。2番目の選択肢では、2
代わりになります。したがって、a(6)=2
。
ときn=9
、我々は、のいずれかを選択1 2 1 1 2 2 1 2 1
して1 2 1 1 2 2 1 2 2
。最初の選択肢では、最長の2倍連続部分文字列はですが2 1
、2番目の選択肢で1 2 2
は、最後に連続して2倍になります。したがってa(9)=1
。
仕事
与えられたn
、戻りa(n)
ます。
スペック
n
ポジティブになります。- 1インデックスの代わりに0インデックスを使用できます。その場合は、回答にその旨を明記してください。また、その場合、
n
すること0
もできます。
テストケース
テストケースは1から始まります。ただし、0インデックスを使用できます。
n a(n)
1 1
2 2
3 1
4 1
5 2
6 2
7 1
8 2
9 1
10 1
11 2
12 1
13 2
14 2
15 1
16 1
17 2
18 1
19 1
20 1
n=9
は、最初の選択肢の最後に1 2 1 1 2 2 1 2 1
二重の部分文字列2 1
があります。