비트 배열을 고려하십시오.
1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0
비트의 85 % 이상이 동일하고 첫 번째 / 마지막 비트가 모두 다수 비트와 동일한 경우 길이가 5 이상인 연속 서브 어레이를 위상 이라고합니다. 또한 다른 위상의 엄격한 하위 배열이 아닌 경우 위상을 최대 값 이라고합니다.
위 예제의 최대 단계는 다음과 같습니다.
1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0
-------------
-------------
-------------
보시다시피, 3
최대 단계가 있습니다. 한편, 이것
1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0
---------
그것은 적어도 하나의 다른 위상의 엄격한 서브 어레이이기 때문에 최대 위상이 아니다.
도전
입력은 STDIN, 명령 행 또는 함수 인수를 통한 5 비트 이상의 시퀀스입니다. 비트는 문자열 또는 배열로 제공 될 수 있습니다.
STDOUT을 통해 인쇄되거나 함수에서 반환 된 배열의 최대 위상 수인 단일 정수를 출력해야합니다.
채점
이것은 코드 골프이므로 가장 적은 바이트의 프로그램이 승리합니다.
테스트 사례
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
마지막 경우에 대한 설명은 다음과 같습니다.
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
---------------------------
-------------------------
-----------------
-----------------
-------------
재미있는 사실 :이 과제는 시간적 데이터의 변화를 감지한다는 목표를 가진 데이터 마이닝 문제에서 비롯되었습니다.
0
하여 마지막에서 끝나는 배열이 하나뿐입니다 .
1 1 0 1 1
5가 4.25 라고 가정 해 봅시다. 따라서 길이 5는 불가능하거나 4로 내림해야합니까?