文巾解题 319. 灯泡开关
生活随笔
收集整理的這篇文章主要介紹了
文巾解题 319. 灯泡开关
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 題目描述
2 解題思路
這道題如果真的開了一個數組一個一個模擬,那么時間肯定超了
?
我們看一下規律吧:
| 燈的編號 | 開關會受到第幾輪的影響(一開始都是關閉的 | 受影響的變換次數的奇偶 |
| 1 | 1 | 奇數 |
| 2 | 1,2 | 偶數 |
| 3 | 1,3 | 偶數 |
| 4 | 1,2,4 | 奇數 |
| 5 | 1,5 | 偶數 |
| 6 | 1,2,3,6 | 偶數 |
| 8 | 1,2,4,8 | 偶數 |
| 9 | 1,3,9 | 奇數 |
| 12 | 1,2,3,4,6,12 | 偶數 |
| 16 | 1,2,4,8,16 | 奇數 |
燈的開與關會受到燈編號的因數對應的輪數的影響。
?
所以要想要燈是開著的,那么就需要燈的編號是完全平方數(受到的影響的變換次數為奇數)
所以就看n以內有幾個完全平方數就可以了
class Solution:def bulbSwitch(self, n: int) -> int:return(int(math.sqrt(n)))?
總結
以上是生活随笔為你收集整理的文巾解题 319. 灯泡开关的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题 525. 连续数组
- 下一篇: 文巾解题 160. 相交链表