本周每日一题 题目
- 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);
}
}