Bir bit dizisi düşünün
1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0
Bitlerin en az% 85'i aynıysa ve ilk / son bitlerin her ikisi de çoğunluk bitine eşitse, ≥5 faz uzunluğuna bitişik bir alt dizi diyoruz . Ayrıca, eğer başka bir fazın katı bir alt dizisi değilse, bir faz maksimal olarak adlandırırız .
İşte yukarıdaki örneğin maksimum aşamaları:
1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0
-------------
-------------
-------------
Gördüğünüz gibi, 3
maksimum aşama var. Öte yandan, bu
1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0
---------
en az bir başka fazın katı bir alt dizisi olduğu için maksimum faz değildir.
Meydan okuma
Giriş, STDIN, komut satırı veya işlev argümanı ile ≥ 5 bitlik bir dizilimdir. Bitler bir dizge ya da dizi olarak gelebilir.
STDOUT aracılığıyla basılan veya bir fonksiyondan döndürülen tek bir tamsayı, dizi için maksimum faz sayısını gösterirsiniz.
puanlama
Bu kod-golf olduğundan, en az bayttaki program kazanır.
Test durumları
0 1 0 1 0 -> 0
0 0 0 0 0 -> 1
0 0 0 0 1 0 1 1 1 1 -> 0
0 0 0 0 0 1 0 1 1 1 1 1 -> 2
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -> 1
0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 -> 2
0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 -> 1
0 1 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 1 0 -> 0
1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 -> 4
0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 -> 5
İşte son durumun açıklaması:
0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0
---------------------------
-------------------------
-----------------
-----------------
-------------
Eğlenceli gerçek: Bu zorluk, zamansal verilerdeki değişimi saptamak amacıyla bir veri madenciliği probleminden kaynaklandı.
0
baştan ve sondan son bulan tek bir dizi var .
1 1 0 1 1
% 85'i olduğunu söyleyebiliriz ki bu 5'tir.