チャレンジ:
入力:
正の整数のソートされたリスト。
出力:
各整数の数字を左に向かってインデックスの回数だけ回転し、変更されたリストを再度並べ替えた後、まだまったく同じインデックスにある整数の量。
例:
入力:[8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
出力(0ベースのインデックス付け):6
出力(1ベースのインデックス付け):5
どうして?
0ベースのインデックス付け:
After rotating each: [8,94,73,102,592,276,8227,3338,9217,63784,89487,7887471]
Sorted again: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Input indices: 0 1 2 3 4 5 6 7 8 9 10 11
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,73,94,102,276,592,3338,8227,9217,63784,89487,7887471]
Modified indices: 0 2 1 3 5 4 7 6 8 9 10 11
Equal indices: ^ ^ ^ ^ ^ ^
So the output is: 6
1ベースのインデックス:
After rotating each: [8,49,37,021,925,762,2278,3383,2179,37846,94878,8874717]
Sorted again: [8,(0)21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Input indices: 1 2 3 4 5 6 7 8 9 10 11 12
Original input-list: [8,49,73,102,259,762,2782,3383,9217,37846,89487,7471788]
Modified list: [8,21,37,49,762,925,2179,2278,3383,37846,94878,8874717]
Modified indices: 1 4 3 2 6 5 9 7 8 10 11 12
Equal indices: ^ ^ ^ ^ ^
So the output is: 5
チャレンジルール:
- 入力リストには、正の整数のみが含まれることが保証されています。
- 入力リストは、最低から最高へのソートが保証されています。
- 入力リストには、少なくとも2つの項目が含まれることが保証されています。
- 上記からわかるように、0ベースと1ベースの両方のインデックスが許可されています。出力はそれに応じて異なる可能性があるため、使用した2つのうちどちらを使用したか答えてください。
0
回転後の先頭のsは無視されます。これは、整数102
が021
回転後になり、その後として扱われる上記の1ベースの例で見ることができます21
。- 整数は入力リスト内で一意であることが保証されており、ローテーションの完了後も一意であることが保証されています。
- 入力リストの値ではなく、入力の位置と相関して回転した整数の位置のみを見ることに注意してください。これが意味することを明確にするために、入力リスト
[1234,3412]
と1ベースのインデックス付けでは、リストは[2341,1234]
各整数をインデックスの回数だけ回転した後になり、ソートされるとになり[1234,2341]
ます。元の入力リストと回転リストの両方に1234
先頭位置に整数が含まれていますが、それらは同じではありません!回転1234
は3412
前でした。したがって0
、2つの整数の位置が入れ替わっているため、このinput-listの1インデックス付き出力はです。 - 入力は柔軟です。リスト/ストリーム/整数の配列/文字列/数字配列などを指定できます。入力を整数として受け取らない場合は、使用したものを指定してください。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - デフォルトのI / Oルールを使用した回答には標準ルールが適用されるため、STDIN / STDOUT、関数/メソッド、適切なパラメーターおよび戻り値型、完全なプログラムを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテスト(TIOなど)へのリンクを追加してください。
- また、回答の説明を追加することを強くお勧めします。
テストケース:
Input: [8, 49, 73, 102, 259, 762, 2782, 3383, 9217, 37846, 89487, 7471788]
0-based output: 6
1-based output: 5
Input: [1234, 3412]
0-based output: 2
1-based output: 0
Input: [2349, 2820, 17499, 21244, 29842, 31857, 46645, 56675, 61643, 61787]
0-based output: 3
1-based output: 0
Input: [4976, 11087, 18732, 22643, 52735]
0-based output: 2
1-based output: 3
Input: [4414, 5866, 7175, 8929, 14048, 16228, 16809, 19166, 24408, 25220, 29333, 44274, 47275, 47518, 53355]
0-based output: 4
1-based output: 4
Input: [11205, 16820, 63494]
0-based output: 1
1-based output: 3
この無料の05AB1Eプログラムを使用して、よりランダムなテストケースを自由に生成(またはインスピレーションを引き出し)してください。入力はランダムリストのサイズです(注:このジェネレーターの出力は、入力リスト、および回転が完了した後も一意であることが保証されているため、それを使用する際には留意してください。)