g0301_0400.s0319_bulb_switcher.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
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