문제 설명
크기가 N인 배열이 주어지고 각 요소는 1 또는 0입니다. 작업은 모든 요소를 0으로 변환하기 위해 수행할 작업의 최소 수를 계산하는 것입니다. 아래 작업을 수행할 수 있습니다. -
요소가 1이면 해당 값을 0으로 변경할 수 있습니다. 그런 다음 -
-
다음 연속 요소가 1이면 자동으로 0으로 변환됩니다.
-
다음 연속 요소가 이미 0이면 아무 일도 일어나지 않습니다.
arr[] ={1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1}이면 모든 요소를 0으로 만들기 위해 4작업이 필요합니다.사전>알고리즘
1. 현재 요소가 1이면 모든 연속 1이 자동으로 0.2로 변환되므로 개수를 늘리고 다음 0을 검색합니다. 최종 개수 반환예시
#include#define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) 네임스페이스 사용 std;int performMinOperation(int *arr, int n){ int i, cnt =0; for (i =0; i 출력
위의 프로그램을 컴파일하고 실행할 때. 다음 출력을 생성합니다 -
최소 필수 작업 =4