Re: [闲聊] 每日LeetCode

楼主: pandix (面包屌)   2023-04-28 01:09:10
319. Bulb Switcher
有 n 个灯泡,执行 n 个回合以下操作:
假设是第 i 个回合,每隔 i 个灯泡切换灯泡开关(开->关 / 关->开)
问最后有几颗灯泡亮着
Example 1:
Input: n = 3
Output: 1
第一轮: 亮 / 亮 / 亮
第二轮: 亮 / 不亮 / 亮
第三轮: 亮 / 不亮 / 不亮
Example 2:
Input: n = 0
Output: 0
Example 3:
Input: n = 4
Output: 2
第一轮: 亮 / 亮 / 亮 / 亮 #按1234
第二轮: 亮 / 不亮 / 亮 / 不亮 #按24
第三轮: 亮 / 不亮 / 不亮 / 不亮 #按3
第四轮: 亮 / 不亮 / 不亮 / 亮 #按4
思路:
第i个灯泡亮着的条件 -> i 有奇数个因子
平方数才会有奇数个因子 所以找小于等于 n 的平方数个数就好
直接开根号就是答案了
下系下井= = 干!
class Solution:
def bulbSwitch(self, n: int) -> int:
return int(sqrt(n))
作者: SecondRun (雨夜琴声)   2023-04-28 01:10:00
大师
作者: Benbenyale (想讓貝魯君更爽♥)   2023-04-28 01:11:00
大师
作者: bmtuspd276b (这啥)   2023-04-28 01:12:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com