1. 题目

现有一个房间,墙上挂有 n 只已经打开的灯泡和 4 个按钮。
在进行了 m 次未知操作后,你需要返回这 n 只灯泡可能有多少种不同的状态。

假设这 n 只灯泡被编号为 [1, 2, 3 …, n],这 4 个按钮的功能如下:

  • 1将所有灯泡的状态反转(即开变为关,关变为开)
  • 2将编号为偶数的灯泡的状态反转
  • 3将编号为奇数的灯泡的状态反转
  • 4将编号为 3k+1 的灯泡的状态反转(k = 0, 1, 2, …)
示例 1:
输入: n = 1, m = 1.
输出: 2
说明: 状态为: [开], [关]示例 2:
输入: n = 2, m = 1.
输出: 3
说明: 状态为: [开, 关], [关, 开], [关, 关]示例 3:
输入: n = 3, m = 1.
输出: 4
说明: 状态为: [关, 开, 关], [开, 关, 开], [关, 关, 关], [关, 开, 开].
注意: n 和 m 都属于 [0, 1000].

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/bulb-switcher-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

6个灯为一组循环,暴力枚举所有状态,参考题解

class Solution {public:int flipLights(int n, int m) {if(n ==0 || m == 0){return 1;}if(n == 1){return 2;}else if(n == 2 && m == 1){return 3;}else if((n == 2 && m >= 2) || m == 1){return 4;}else if(n >= 3 && m == 2){return 7;}else {return 8;}}
};

0 ms 8.3 MB

LeetCode 672. 灯泡开关 Ⅱ(枚举)相关推荐

  1. 【LeetCode】灯泡开关Ⅰ~ Ⅳ(你还是把我关了吧)

    [LeetCode]灯泡开关Ⅰ~ Ⅳ

  2. LeetCode 5353. 灯泡开关 III

    5353. 灯泡开关 III 房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排.最初,所有的灯都是关着的. 在 k  时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k ...

  3. leetcode - 22 672. 灯泡开关 Ⅱ

    房间中有 n 只已经打开的灯泡,编号从 1 到 n .墙上挂着 4 个开关 . 这 4 个开关各自都具有不同的功能,其中: 开关 1 :反转当前所有灯的状态(即开变为关,关变为开) 开关 2 :反转编 ...

  4. LeetCode 319. 灯泡开关(找规律)

    1. 题目 初始时有 n 个灯泡关闭. 第 1 轮,你打开所有的灯泡. 第 2 轮,每两个灯泡你关闭一次. 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭).第 i 轮,每 i 个 ...

  5. LeetCode 319. 灯泡开关

    题目:   初始时有 n 个灯泡处于关闭状态.第一轮,你将会打开所有灯泡.接下来的第二轮,你将会每两个灯泡关闭第二个.   第三轮,你每三个灯泡就切换第三个灯泡的开关(即,打开变关闭,关闭变打开).第 ...

  6. leetcode 5473. 灯泡开关 IV (阿里云周赛)

    房间中有 n 个灯泡,编号从 0 到 n-1 ,自左向右排成一行.最开始的时候,所有的灯泡都是 关 着的. 请你设法使得灯泡的开关状态和 target 描述的状态一致,其中 target[i] 等于 ...

  7. leetcode 5473. 灯泡开关 IV(C++)

    房间中有 n 个灯泡,编号从 0 到 n-1 ,自左向右排成一行.最开始的时候,所有的灯泡都是 关 着的. 请你设法使得灯泡的开关状态和 target 描述的状态一致,其中 target[i] 等于  ...

  8. LeetCode 1375. 灯泡开关 III

    1. 题目 房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排.最初,所有的灯都是关着的. 在 k 时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k] 这个灯. 灯的颜 ...

  9. 【Java】672. 灯泡开关 Ⅱ

    房间中有 n 只已经打开的灯泡,编号从 1 到 n .墙上挂着 4 个开关 . 这 4 个开关各自都具有不同的功能,其中: 开关 1 :反转当前所有灯的状态(即开变为关,关变为开) 开关 2 :反转编 ...

最新文章

  1. 台式电脑没鼠标怎么移动光标_零基础学电脑从入门到精通 电脑零距离
  2. 计算机组装维修期末考试题,2014计算机组装维修期末考试题(1)
  3. java中的hashset_Java中的HashSet
  4. 为PHP7安装Windows Server 2012 R2过程记录
  5. C++ Primer 第五版 第6章 6.1——函数及函数定义及调用习题答案
  6. Live Meeting 音频视频使用端口设置
  7. java compiler.run_eclipse build path与java Compiler
  8. 3D点云语义分割认知随便写写(更新中)
  9. 2021-2027全球与中国创建和销售在线课程平台市场现状及未来发展趋势
  10. 持续交付+springboot+k8s
  11. 墙裂推荐6款实用办公软件!超级好用!
  12. 堆排序算法设计与分析
  13. P1598 垂直柱状图
  14. 信号处理系列之限幅器(Limiter_FC)
  15. 计算机策略组 网络,组策略怎么用 玩转电脑组策略技巧 (全文)
  16. Mac M1安装fish shell 遇见的坑
  17. 千里之行,始于驭风——咕咚新款21k驭风跑鞋体验
  18. java调用 post_java调用post请求到localhost:4040
  19. 业务高速增长场景下的稳定性建设实战
  20. 人生就是不停的战斗————九把刀北大演讲 转载自豆瓣网友“此间的少年”

热门文章

  1. 如何使用CppUnit进行单元测试
  2. 选择排序 冒泡排序 二分查找
  3. linux启用ipmi服务,使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理
  4. jdbc mysql demo_JDBC_demo:java连接mysql过程
  5. String in Java
  6. Vim直接打开Tampermonkey网址的方法。
  7. [BZOJ1669][Usaco2006 Oct]Hungry Cows饥饿的奶牛
  8. 向量点积(Dot Product)
  9. timer.schedule定时器用法
  10. 复制文本框内容至剪贴板