All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0301_0400.s0319_bulb_switcher.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0301_0400.s0319_bulb_switcher;

// #Medium #Math #Brainteaser #2022_07_08_Time_0_ms_(100.00%)_Space_41.1_MB_(27.19%)

/**
 * 319 - Bulb Switcher\.
 *
 * Medium
 *
 * There are `n` bulbs that are initially off. You first turn on all the bulbs, then you turn off every second bulb.
 *
 * On the third round, you toggle every third bulb (turning on if it's off or turning off if it's on). For the ith round, you toggle every `i` bulb. For the nth round, you only toggle the last bulb.
 *
 * Return _the number of bulbs that are on after `n` rounds_.
 *
 * **Example 1:**
 *
 * ![](https://assets.leetcode.com/uploads/2020/11/05/bulb.jpg)
 *
 * **Input:** n = 3
 *
 * **Output:** 1
 *
 * **Explanation:** At first, the three bulbs are [off, off, off]. After the first round, the three bulbs are [on, on, on]. After the second round, the three bulbs are [on, off, on]. After the third round, the three bulbs are [on, off, off]. So you should return 1 because there is only one bulb is on.
 *
 * **Example 2:**
 *
 * **Input:** n = 0
 *
 * **Output:** 0 
 *
 * **Example 3:**
 *
 * **Input:** n = 1
 *
 * **Output:** 1 
 *
 * **Constraints:**
 *
 * *   0 <= n <= 109
**/
public class Solution {
    public int bulbSwitch(int n) {
        if (n < 2) {
            return n;
        }
        return (int) Math.sqrt(n);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy