319:灯泡开关

This commit is contained in:
huangge1199@hotmail.com 2021-05-07 22:28:26 +08:00
parent dd34dc6971
commit eda3db45a5
2 changed files with 129 additions and 0 deletions

View File

@ -0,0 +1,75 @@
//初始时有 n 个灯泡处于关闭状态
//
// 对某个灯泡切换开关意味着如果灯泡状态为关闭那该灯泡就会被开启而灯泡状态为开启那该灯泡就会被关闭
//
// 1 每个灯泡切换一次开关打开所有的灯泡
//
// 2 每两个灯泡切换一次开关 每两个灯泡关闭一个
//
// 3 每三个灯泡切换一次开关
//
// i i 个灯泡切换一次开关 而第 n 你只切换最后一个灯泡的开关
//
// 找出 n 轮后有多少个亮着的灯泡
//
//
//
// 示例 1
//
//
//
//
//输入n = 3
//输出1
//解释
//初始时, 灯泡状态 [关闭, 关闭, 关闭].
//第一轮后, 灯泡状态 [开启, 开启, 开启].
//第二轮后, 灯泡状态 [开启, 关闭, 开启].
//第三轮后, 灯泡状态 [开启, 关闭, 关闭].
//
//你应该返回 1因为只有一个灯泡还亮着
//
//
// 示例 2
//
//
//输入n = 0
//输出0
//
//
// 示例 3
//
//
//输入n = 1
//输出1
//
//
//
//
// 提示
//
//
// 0 <= n <= 109
//
// Related Topics 脑筋急转弯 数学
// 👍 172 👎 0
package leetcode.editor.cn;
//319:灯泡开关
public class BulbSwitcher {
public static void main(String[] args) {
//测试代码
Solution solution = new BulbSwitcher().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public int bulbSwitch(int n) {
return (int) Math.sqrt(n);
}
}
//leetcode submit region end(Prohibit modification and deletion)
}

View File

@ -0,0 +1,54 @@
<p>初始时有 <code>n</code><em> </em>个灯泡处于关闭状态。</p>
<p>对某个灯泡切换开关意味着:如果灯泡状态为关闭,那该灯泡就会被开启;而灯泡状态为开启,那该灯泡就会被关闭。</p>
<p>第 1 轮,每个灯泡切换一次开关。即,打开所有的灯泡。</p>
<p>第 2 轮,每两个灯泡切换一次开关。 即,每两个灯泡关闭一个。</p>
<p>第 3 轮,每三个灯泡切换一次开关。</p>
<p>第 <code>i</code> 轮,每 <code>i</code><em> </em>个灯泡切换一次开关。 而第 <code>n</code><em> </em>轮,你只切换最后一个灯泡的开关。</p>
<p>找出 <code>n</code><em> </em>轮后有多少个亮着的灯泡。</p>
<p> </p>
<p><strong>示例 1</strong></p>
<p><img alt="" src="https://assets.leetcode.com/uploads/2020/11/05/bulb.jpg" style="width: 421px; height: 321px;" /></p>
<pre>
<strong>输入:</strong>n =<strong> </strong>3
<strong>输出:</strong>1
<strong>解释:</strong>
初始时, 灯泡状态 <strong>[关闭, 关闭, 关闭]</strong>.
第一轮后, 灯泡状态 <strong>[开启, 开启, 开启]</strong>.
第二轮后, 灯泡状态 <strong>[开启, 关闭, 开启]</strong>.
第三轮后, 灯泡状态 <strong>[开启, 关闭, 关闭]</strong>.
你应该返回 1因为只有一个灯泡还亮着。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>n = 0
<strong>输出:</strong>0
</pre>
<p><strong>示例 3</strong></p>
<pre>
<strong>输入:</strong>n = 1
<strong>输出:</strong>1
</pre>
<p> </p>
<p><strong>提示:</strong></p>
<ul>
<li><code>0 <= n <= 10<sup>9</sup></code></li>
</ul>
<div><div>Related Topics</div><div><li>脑筋急转弯</li><li>数学</li></div></div>\n<div><li>👍 172</li><li>👎 0</li></div>