Here, We see Bulb Switcher II LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.
List of all LeetCode Solution
Bulb Switcher II LeetCode Solution
Table of Contents
Problem Statement
There is a room with n bulbs labeled from 1 to n that all are turned on initially, and four buttons on the wall. Each of the four buttons has a different functionality where:
- Button 1: Flips the status of all the bulbs.
- Button 2: Flips the status of all the bulbs with even labels (i.e., 2, 4, …).
- Button 3: Flips the status of all the bulbs with odd labels (i.e., 1, 3, …).
- Button 4: Flips the status of all the bulbs with a label j = 3k + 1 where k = 0, 1, 2, … (i.e., 1, 4, 7, 10, …).
You must make exactly presses button presses in total. For each press, you may pick any of the four buttons to press.
Given the two integers n and presses, return the number of different possible statuses after performing all presses button presses.
Example 1:
Input: n = 1, presses = 1
Output: 2
Explanation: Status can be:
– [off] by pressing button 1
– [on] by pressing button 2
Example 2:
Input: n = 2, presses = 1
Output: 3
Explanation: Status can be:
– [off, off] by pressing button 1
– [on, off] by pressing button 2
– [off, on] by pressing button 3
Example 3:
Input: n = 3, presses = 1
Output: 4
Explanation: Status can be:
– [off, off, off] by pressing button 1
– [off, on, off] by pressing button 2
– [on, off, on] by pressing button 3
– [off, on, on] by pressing button 4
Bulb Switcher II LeetCode Solution C++
class Solution {
public:
int flipLights(int n, int presses) {
if(presses == 0) return 1;
if(n == 1) return 2;
if(n == 2 && presses == 1) return 3;
if(n == 2 || presses == 1) return 4;
if(presses == 2) return 7;
return 8;
}
};
Code language: PHP (php)
Bulb Switcher II LeetCode Solution Java
class Solution {
public int flipLights(int n, int presses) {
if(presses==0) return 1;
if(n==1) return 2;
if(n==2 && presses==1) return 3;
if(n==2) return 4;
if(presses==1) return 4;
if(presses==2) return 7;
if(presses>=3) return 8;
return 8;
}
}
Code language: PHP (php)
Bulb Switcher II Solution JavaScript
var flipLights = function(n, presses) {
if (presses === 0) {
return 1;
} else if (n === 1) {
return 2;
} else if (n === 2) {
return presses === 1 ? 3 : 4;
} else {
return presses === 1 ? 4 : presses === 2 ? 7 : 8;
}
};
Code language: JavaScript (javascript)
Bulb Switcher II Solution Python
class Solution(object):
def flipLights(self, n, presses):
if(presses==0): return 1;
if(n==1): return 2;
if(n==2 and presses==1): return 3;
if(n==2): return 4;
if(presses==1): return 4;
if(presses==2): return 7;
if(presses>=3): return 8;
return 8;