НАЙДИТЕ минимальное количество выключателей, чтобы включить все лампочки.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 НАЙДИТЕ минимальное количество выключателей, чтобы включить все лампочки.

Сообщение Anonymous »

Я пытаюсь понять представленную здесь проблему и ее решение:

Проблема гласит:

N лампочек соединены проводом. С каждой лампочкой связан переключатель, однако из-за неисправной проводки переключатель также меняет состояние всех лампочек справа от текущей лампочки. Учитывая исходное состояние всех лампочек, найдите минимальное количество выключателей, которое вам нужно нажать, чтобы включить все лампочки. Вы можете нажать один и тот же переключатель несколько раз.

Примечание: 0 означает, что лампочка выключена, а 1 — лампочка включена.

Example:

Input : [0 1 0 1]
Return : 4

Explanation :

press switch 0 : [1 0 1 0]
press switch 1 : [1 1 0 1]
press switch 2 : [1 1 1 0]
press switch 3 : [1 1 1 1]
< /code>

Один из приведенных ответов: < /p>

int solve(int A[], int N) {

int state= 0, ans = 0;
for (int i = 0; i < N;i++) {
if (A == state) {
ans++;
state = 1 - state;
}
}

return ans;
}
< /code>

Я не могу обернуть голову вокруг того, как оператор if делает правильную вещь.

Подробнее здесь: https://stackoverflow.com/questions/358 ... -all-bulbs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»