LeetCode 319. 灯泡开关(找规律)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 319. 灯泡开关(找规律)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
初始時有 n 個燈泡關閉。 第 1 輪,你打開所有的燈泡。 第 2 輪,每兩個燈泡你關閉一次。 第 3 輪,每三個燈泡切換一次開關(如果關閉則開啟,如果開啟則關閉)。第 i 輪,每 i 個燈泡切換一次開關。 對于第 n 輪,你只切換最后一個燈泡的開關。 找出 n 輪后有多少個亮著的燈泡。
示例: 輸入: 3 輸出: 1 解釋: 初始時, 燈泡狀態 [關閉, 關閉, 關閉]. 第一輪后, 燈泡狀態 [開啟, 開啟, 開啟]. 第二輪后, 燈泡狀態 [開啟, 關閉, 開啟]. 第三輪后, 燈泡狀態 [開啟, 關閉, 關閉]. 你應該返回 1,因為只有一個燈泡還亮著。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/bulb-switcher
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 找規律
| t1 | X | X | X | X | X | X | X | X | X |
| t2 | X | X | X | X | |||||
| t3 | X | X | X | ||||||
| t4 | X | X | |||||||
| t5 | X | ||||||||
| t6 | X | ||||||||
| t7 | X | ||||||||
| t8 | X | ||||||||
| t9 | X | ||||||||
| 奇 | 偶 | 偶 | 奇 | 偶 | 偶 | 偶 | 偶 | 奇 |
- 可以發現 每個數字只能在自己的約數下可以按下開關
- 約數個數為奇數個,燈亮著
- 完全平方數,如5X5=25 的約數個數為奇數個
- 所以答案為 floor(n)floor(\sqrt n)floor(n?)
總結
以上是生活随笔為你收集整理的LeetCode 319. 灯泡开关(找规律)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试金典 - 面试题 10.10.
- 下一篇: LeetCode 997. 找到小镇的法