Leetcode 319. 灯泡开关 解题思路及C++实现
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 319. 灯泡开关 解题思路及C++实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方法一:規律
解題思路:
?
class Solution { public:int bulbSwitch(int n) {return sqrt(n);} };?
方法二:動態規劃
解題思路:
會超出時間限制。
?
class Solution { public:int bulbSwitch(int n) {vector<int> dp(n+1, 1);dp[0] = 0;if(n <= 3) return dp[n];else{for(int i = 4; i <= n; i++){int count = 0;for(int j = 2; j <= i; j++){if(i % j == 0) count++;}if(count % 2 == 0) dp[i] = dp[i-1] + 1;else dp[i] = dp[i-1];}return dp[n];}} };?
?
?
總結
以上是生活随笔為你收集整理的Leetcode 319. 灯泡开关 解题思路及C++实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 292. Nim 游戏
- 下一篇: Leetcode 621. 任务调度器