灯泡开关

题解方法

  • 数学

数学

  • 对于第 k 个灯泡,它被切换的次数恰好就是 k 的约数个数;当 k 的约数个数为奇数时,第 k 个灯泡亮
  • 若某个数 x 为 k 的约数,则$\frac{k}{x}$亦为 k 的约数,即约数必然成对出现;只有当 x 为完全平方数时,约数个数为奇数

核心代码

数学

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

题目来源

319. 灯泡开关 - 力扣(LeetCode) (leetcode-cn.com)