LeetCode 319 Bulb Switcher

来源:互联网 发布:fastjson解析json数据 编辑:程序博客网 时间:2024/06/05 04:59

题目   灯泡初始状态为off

每一轮将是n的倍数的开关调转状态。

求最后灯泡是on的个数。

思路:由于 1 = 1*1

                    2 = 2*1  1*2

  3 = 3*1 1*3

每个数每次分解都会改变状态,但由于分解的对称性,除了平方数,其余的都会回到初始状态,因为都翻转了偶数倍;

所以结果就是返回n的平方根的整数位;

代码很简单 如下:

class Solution {    public int bulbSwitch(int n) {        return (int)Math.sqrt(n);    }}
原创粉丝点击