Bulb Switcher II LeetCode Solution

Last updated on October 5th, 2024 at 09:05 pm

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

Topics

Math

Companies

Microsoft

Level of Question

Medium

Bulb Switcher II LeetCode Solution

Bulb Switcher II LeetCode Solution

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

1. 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;
    }
};

2. 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;
    }
}

3. 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;
    }
};

4. 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;
Scroll to Top