美文网首页数据结构与算法
Leetcode-319 灯泡开关

Leetcode-319 灯泡开关

作者: itbird01 | 来源:发表于2021-12-19 00:18 被阅读0次

319. 灯泡开关

题意:初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则打开,如果打开则关闭)。第 i 轮,你每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡

解题思路

解法1:暴力解法,一个数组存储数据,0/1来标志灯泡开关状态,每次遍历,时间复杂度O(n^2),果然超时、超出内存限制
解决2:找规律,通过列举n个答案,发现规律是n的开方,向下取整

// if(n == 1) return 1;
// if(n == 2) return 1;
// if(n == 3) return 1;
// if(n == 4) return 2;
// if(n == 5) return 2;
// if(n == 6) return 2;
// if(n == 7) return 2;
 // if(n == 8) return 2;

解题遇到的问题

后续需要总结学习的知识点

##解法1--超出内存限制
class Solution {
    public int bulbSwitch(int n) {
        int[] a = new int[n + 1];
        for (int i = 1; i < a.length; i++) {
            a[i] = 1;
        }
        for (int i = 2; i < a.length; i++) {
            for (int j = i; j < a.length; j = j + j) {
                if (a[j] == 0) {
                    a[j] = 1;
                } else {
                    a[j] = 0;
                }
            }
        }

        int ans = 0;
        for (int i = 1; i < a.length; i++) {
            if (a[i] == 1) {
                ans++;
            }
        }
        return ans;
    }
}

##解法2
class Solution {
    public int bulbSwitch(int n) {
            return (int) Math.floor(Math.sqrt(n));
    }
}

相关文章

  • Leetcode-319 灯泡开关

    319. 灯泡开关[https://leetcode-cn.com/problems/bulb-switcher/...

  • 设计模式 · 开关和灯泡的问题

    一、 假设我们现在有一个开关(打开和关闭)、还有一个灯泡(发光和不发光),开关控制灯泡,当开关打开后,灯泡亮。思考...

  • 灯泡开关

    灯泡开关 在这个问题中,我们能够首先想到的就是使用暴力模拟。根据模拟可以直接模拟每一步的操作。但是这会发生TLE错...

  • 灯泡开关

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bulb-s...

  • 简单电路图

    原理:在灯泡的两端加上一定的电压,灯泡就可以发光。 材料 灯泡,底座,电池,导线,开关。 图片

  • Leetcode【319、672】

    问题描述:【Math】319. Bulb Switcher 解题思路: 灯泡开关。初始时有 n 个灯泡关闭,第 i...

  • 开关、电线与灯泡

    晚上,主人回到家,”啪”的一声打开了开关,有了电线的帮助,灯泡马上就亮了。就这样,开关、电线与灯泡,三个小伙伴一起...

  • LeetCode | 1375. Bulb Switcher I

    LeetCode 1375. Bulb Switcher III灯泡开关 III【Medium】【Python】【...

  • LeetCode 319. 灯泡开关

    题目 319. 灯泡开关 题目描述 初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个...

  • 被爱上的灯泡|140字微小说

    灯泡灭了,我仔细检查,没有发现问题。重新按下开关,灯泡忽闪两下又暗了,看来不是故障,而是灯泡跟我耍脾气。 于是我问...

网友评论

    本文标题:Leetcode-319 灯泡开关

    本文链接:https://www.haomeiwen.com/subject/iavqtrtx.html