21年11月第三周 力扣每日一题记录

本周每日一题 题目

  • lc 319. 灯泡开关

11-15 lc 319. 灯泡开关

  • 这一题很有意思,是个数学题
  • 具体的思路我写在注释上了
class Solution {
    
    
    //是一个数学题
    //4号位的灯,会被1点亮,2点灭,4点灭,所以4号位的灯,实际上因子有1,2,4 所以它是亮着的
    //那么对于i位置的灯,其实我们不需要知道它有多少个因子,而只需要知道它有偶数个因子还是奇数个就可以了
    //这里的因子包含1和自身
    //实际上,因子都是成对出现的,如果i是一个数的平方数,那么它的因子就是奇数个,就是亮着的
    //所以最后问题就是统计,1-n之间有多少个平方数
    //那么很明显,就是求n的平方根就可以了
    public int bulbSwitch(int n) {
    
    
        return (int)Math.sqrt(n);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_34687559/article/details/121337011