参考推理: 为什么平方数一定是亮着的?从数学角度证明
结论:求n之内的平方数的个数
思路1:求n之内的平方数的个数
class Solution:
def bulbSwitch(self, n: int) -> int:
ans = 0 # 记录个数
num = 1 #
while num*num<=n:
num+=1
ans+=1
return ans
优化:实际上num本身就是在计数,从1开始。最后需要-1。
class Solution:
def bulbSwitch(self, n: int) -> int:
num = 1
while num*num<=n:
num+=1
return num-1
优化:上面的代码实际上是求n的平方根的取整值。
class Solution:
def bulbSwitch(self, n: int) -> int:
return int(pow(n,0.5))