码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Java】672. 灯泡开关 Ⅱ


    房间中有 n 只已经打开的灯泡,编号从 1 到 n 。墙上挂着 4 个开关 。

    这 4 个开关各自都具有不同的功能,其中:

    开关 1 :反转当前所有灯的状态(即开变为关,关变为开)
    开关 2 :反转编号为偶数的灯的状态(即 2, 4, …)
    开关 3 :反转编号为奇数的灯的状态(即 1, 3, …)
    开关 4 :反转编号为 j = 3k + 1 的灯的状态,其中 k = 0, 1, 2, …(即 1, 4, 7, 10, …)
    你必须 恰好 按压开关 presses 次。每次按压,你都需要从 4 个开关中选出一个来执行按压操作。

    给你两个整数 n 和 presses ,执行完所有按压之后,返回 不同可能状态 的数量。

    示例 1:

    输入:n = 1, presses = 1
    输出:2
    解释:状态可以是:

    • 按压开关 1 ,[关]
    • 按压开关 2 ,[开]
      示例 2:

    输入:n = 2, presses = 1
    输出:3
    解释:状态可以是:

    • 按压开关 1 ,[关, 关]
    • 按压开关 2 ,[开, 关]
    • 按压开关 3 ,[关, 开]
      示例 3:

    输入:n = 3, presses = 1
    输出:4
    解释:状态可以是:

    • 按压开关 1 ,[关, 关, 关]
    • 按压开关 2 ,[关, 开, 关]
    • 按压开关 3 ,[开, 关, 开]
    • 按压开关 4 ,[关, 开, 开]

    提示:

    1 <= n <= 1000
    0 <= presses <= 1000

    /*
    所有的操作进行偶数次是会抵消的,那么所有操作只存在无效果和有效果;
    且各一次操作2,3等效为一次操作1;
    画一个类似真值表,可以推出 n>=3且m>=3时,结果只会是8;
    接下来考虑个别情况即可。
    */

        public int flipLights(int n, int presses) {
            if (presses==0){
                return 1;
            }
            if (n==1){
                return 2;
            }
            if (n==2){
                return presses==1?3:4;
            }
            return presses>2?8:presses==1?4:7;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

  • 相关阅读:
    altera FPGA 程序固化命令
    [激光器原理与应用-14]:激光器企业组织内部结构解剖
    昇思25天学习打卡营第15天|ResNet50迁移学习
    Textbooks Are All You Need
    表的增删查改
    序列化工具Protobuf在Idea中的配置和在java中的使用实例
    计算机毕业设计选什么题目好?springboot 研究生管理系统
    SpringBoot2.0---------------5、SpringBoot自动配置原理
    【数据结构-树】并查集的定义及其操作
    消息队列的实现
  • 原文地址:https://blog.csdn.net/qq_44461217/article/details/126869232
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号