N light bulbs are connected by a wire. Each bulb has a switch associated with it, however due to faulty wiring, a switch also changes the state of all the bulbs to the right of current bulb. Given an initial state of all bulbs, find the minimum number of switches you have to press to turn on all the bulbs. You can press the same switch multiple times.
Note: 0 represents the bulb is off and 1 represents the bulb is on.
Input : [0 1 0 1] Output : 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] Input : [1 0 0 0 0] Output : 1
We traverse given array from left to right and keep pressing switch for off bulbs. We keep track of the number of switch presses so far. If the number of presses are odd, that means the current switch is in its original state else it is in the other state. Depending on what state the bulb is in, we can increment the count of the number of presses.
The minimum number of switches needed are 4.
This article is contributed by Saloni Baweja. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Minimum flips in two binary arrays so that their XOR is equal to another array
- Minimum flips to make all 1s in left and 0s in right | Set 2
- Minimize the difference between the maximum and minimum values of the modified array
- Minimum flips to make all 1s in left and 0s in right | Set 1 (Using Bitmask)
- Find Bit whose minimum sequence flips makes all bits same
- Count minimum steps to get the given desired array
- Count minimum number of "move-to-front" moves to sort an array
- Count of values of x <= n for which (n XOR x) = (n - x)
- Smallest subarray containing minimum and maximum values
- Minimum absolute difference of XOR values of two subarrays
- Permutation of an array that has smaller values from another array
- Sort an array which contain 1 to n values
- Possible to form a triangle from array values
- Print intermediate values in an array
- Sum of even values and update queries on an array