チャレンジ:
正の整数を指定すると、少なくとも2回発生する最長の1桁のサブシーケンスを出力し、ANDには別の桁(または整数の開始/終了)の境界があります。
例:
入力:7888885466662716666
1桁の最長サブシーケンスは、長さが5の88888
(7[88888]5466662716666
)になります。ただし、このサブシーケンスは整数で1回しか発生しません。
代わりに、入力のために結果が7888885466662716666
あるべきである6666
(78888854[6666]271[6666]
それは二倍(少なくとも)が発生するので、)。
チャレンジルール:
- サブシーケンスの長さは、発生する回数よりも優先されます。(つまり、入力の
8888858888866656665666
場合、出力88888
([88888]5[88888]66656665666
;長さ5、2回発生します)ではなく、666
(88888588888[666]5[666]5[666]
;長さ3、3回発生します)。 - 複数のサブシーケンスの長さが等しい場合、発生回数が最大のサブシーケンスを出力します。入力に、即ち
3331113331119111
、我々出力111
(333[111]333[111]9[111]
;長さ3は、3回発生する)、およびいない333
([333]111[333]1119111
;ならびに長さ3が、2回出現) - 複数のサブシーケンスの出現回数と長さが等しい場合、それらのいずれか、またはすべてを(任意の順序で)出力できます。
777333777333
つまり、inputの場合、可能な出力は次のとおり777
です。333
;[777, 333]
; または[333, 777]
。 - サブシーケンスには、他の数字(または整数の開始/終了)の境界が必要です。すなわち、入力の場合
122222233433
、結果は33
(1222222[33]4[33]
;長さ2、2回発生します)ではなく222
(1[222][222]33433
、長さ3、両方とも無効で2回発生します)。- これは、オカレンスカウンターにカウントされるすべての数値に適用されます。
811774177781382
つまり、入力の場合、結果は8
([8]117741777[8]13[8]2
;長さ1、3回発生します)ではなく77
(811[77]41[77]781382
/811[77]417[77]81382
;長さ2、無効な1回で2回発生)、1
(8[1][1]774[1]7778[1]382
;長さ1、無効な2回で4回発生)です。
- これは、オカレンスカウンターにカウントされるすべての数値に適用されます。
- 入力に数字が含まれないと想定できます
0
(一致します[1-9]+
)。(これは、ほとんどの言語がデフォルトで出力する10002000
outputのようなテストケースを処理する必要を避けるためです。)000
0
- 入力には常に少なくとも1つの有効な出力が含まれると想定できます。
- I / Oは両方とも柔軟です。リスト/配列/数字/バイト/文字のストリーム、または単一の整数ではなく文字列として指定できます。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準的な規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを備えた関数/メソッドを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテストへのリンクを追加してください。
- また、回答の説明を追加することを強くお勧めします。
テストケース:
Input: 7888885466662716666 / [7,8,8,8,8,8,5,4,6,6,6,6,2,7,1,6,6,6,6]
Output: 6666 / [6,6,6,6]
Input: 3331113331119111 / [3,3,3,1,1,1,3,3,3,1,1,1,9,1,1,1]
Output: 111 / [1,1,1]
Input: 777333777333 / [7,7,7,3,3,3,7,7,7,3,3,3]
Possible outputs: 777; 333; [777,333]; [333;777] / [7,7,7]; [3,3,3]; [[7,7,7],[3,3,3]]; [[3,3,3],[7,7,7]]
Input: 122222233433 / [1,2,2,2,2,2,2,3,3,4,3,3]
Output: 33 / [3,3]
Input: 811774177781382 / [8,1,1,7,7,4,1,7,7,7,8,1,3,8,2]
Output: 8 / [8]
Input: 555153333551 / [5,5,5,1,5,3,3,3,3,5,5,1]
Output: 1 / [1]
Input: 12321 / [1,2,3,2,1]
Possible outputs: 1; 2; [1,2]; [2,1] / [1]; [2]; [[1],[2]]; [[2],[1]]
Input: 944949949494999494 / [9,4,4,9,4,9,9,4,9,4,9,4,9,9,9,4,9,4]
Output: 4 / [4]
Input: 8888858888866656665666 / [8,8,8,8,8,5,8,8,8,8,8,6,6,6,5,6,6,6,5,6,6,6]
Output: 88888 / [8,8,8,8,8]
Input: 1112221112221111 / [1,1,1,2,2,2,1,1,1,2,2,2,1,1,1,1]
Output: 111; 222; [111,222]; [222,111] / [1,1,1]; [2,2,2]; [[1,1,1],[2,2,2]]; [[2,2,2],[1,1,1]]
Input: 911133111339339339339339 / [9,1,1,1,3,3,1,1,1,3,3,9,3,3,9,3,3,9,3,3,9,3,3,9]
Output: 111 / [1,1,1]
222
ます。他の整数で区切られている場合と同じくらいの頻度で発生するからです。の部分文字列であるオカレンスを数えるべきではないと思い1111
ます。確かに、OPを待つ方がましです。
1112221112221111
これらはサブとその数は次のとおりです。1111 (1)
、111 (2)
、222 (2)
。我々は唯一の二回、少なくとも存在する配列を出力するので、出力はのいずれかになります111
、222
、[111,222]
、[222,111]
。(いくつかの詳細については、第四のルールを参照してください。)基本的に1111
しかとしてカウントされます1111
、そしてないと1
と111
や11
と11
。私はあなたのテストケースを追加しますが、出力はいずれか、または両方である111
とします222
。
8888858888866656665666
。チャレンジを正しく解釈すると、Brachylogと05AB1Eの両方のソリューションが失敗します。