LeetCode Bulb Switcher

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode Bulb Switcher相关的知识,希望对你有一定的参考价值。

原题链接在这里:https://leetcode.com/problems/bulb-switcher/

给定n,初始的时候灯都是灭的,让你进行进行开关灯。第一轮的时候把1的倍数反转(原来关就开,原来开就关),第二轮把2的倍数反转,以此类推到第n轮。

求最后灯打开的个数

 

对于素数,那么它仅有1和它本身,最后一定是关掉的。

对一普通的,一定是关掉的,因子成对出现

对于完全平方数,因为有一个倍数不成对出现,所以一定是打开的。比如4 => 1,4开; 2关

所以本题就是求1~n有几个完全平方数。

直接返回sqrt(n).

Time Complexity: O(1). Space: O(1).

AC Java:

1 public class Solution {
2     public int bulbSwitch(int n) {
3         return (int)Math.sqrt(n);
4     }
5 }

Reference: http://blog.csdn.net/murmured/article/details/50363720

以上是关于LeetCode Bulb Switcher的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] Bulb Switcher

[LeetCode]319. Bulb Switcher灯泡开关

319. Bulb Switcher

java 319. Bulb Switcher.java

java 319. Bulb Switcher.java

java 319. Bulb Switcher.java