概要
皆さんの中には、コラコスキーシーケンス(A000002)を知っている方もいるかもしれません。これは、次のプロパティを持つ自己参照シーケンスです。
これは1と2のみを含むシーケンスであり、1と2の各グループについて、ランの長さを合計すると、長さの半分だけになります。つまり、コラコスキーシーケンスは、シーケンス自体の実行の長さを表します。これは、最初の1が削除された同じシーケンスを除き、これを行う唯一のシーケンスです。(これは、1と2で構成されるシーケンスに自分自身を制限する場合にのみ当てはまります-Martin Ender)
チャレンジ
課題は、整数のリストが与えられることです:
-1
リストがコラコスキーシーケンスの有効なプレフィックスでない場合に出力します。- シーケンスがになるまでの反復回数を出力し
[2]
ます。
完成した例
提供された画像を例として使用する:
[1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1] # Iteration 0 (the input).
[1,2,2,1,1,2,1,2,2,1,2] # Iteration 1.
[1,2,2,1,1,2,1,1] # Iteration 2.
[1,2,2,1,2] # Iteration 3.
[1,2,1,1] # Iteration 4.
[1,1,2] # Iteration 5.
[2,1] # Iteration 6.
[1,1] # Iteration 7.
[2] # Iteration 8.
したがって、結果の数値は8
の入力用です[1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1]
。
9
1インデックスを作成している場合も問題ありません。
テストスイート(サブ反復でもテストできます)
------------------------------------------+---------
Truthy Scenarios | Output
------------------------------------------+---------
[1,1] | 1 or 2
[1,2,2,1,1,2,1,2,2,1] | 6 or 7
[1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1] | 8 or 9
[1,2] | 2 or 3
------------------------------------------+---------
Falsy Scenarios | Output
------------------------------------------+---------
[4,2,-2,1,0,3928,102904] | -1 or a unique falsy output.
[1,1,1] | -1
[2,2,1,1,2,1,2] (Results in [2,3] @ i3) | -1 (Trickiest example)
[] | -1
[1] | -1
混乱している場合:
Truthy:やがて以外の要素を持つ中間ステップなしで、最終的に2に到達1
し2
ます。–Einkorn Enchanter 20 hours ago
偽:終了値は[2]
です。中間用語にはセットのもの以外のものが含まれてい[1,2]
ます。他にもいくつかあります。例を参照してください。
これはcode-golfで、最低バイト数が勝者になります。
[2]
、[2,2,1,1,2,1,2]
テストケースを見るまでリストが最終的に到達しないことを意味すると想定していました。
1
や以外の要素を持つ中間ステップなしで、最終的に2に到達し2
ます。
[1]
テストケースとして追加することをお勧めします。
-1
か?