【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;}
【Java】672. 灯泡开关 Ⅱ相关推荐
- leetcode - 22 672. 灯泡开关 Ⅱ
房间中有 n 只已经打开的灯泡,编号从 1 到 n .墙上挂着 4 个开关 . 这 4 个开关各自都具有不同的功能,其中: 开关 1 :反转当前所有灯的状态(即开变为关,关变为开) 开关 2 :反转编 ...
- LeetCode 672. 灯泡开关 Ⅱ(枚举)
1. 题目 现有一个房间,墙上挂有 n 只已经打开的灯泡和 4 个按钮. 在进行了 m 次未知操作后,你需要返回这 n 只灯泡可能有多少种不同的状态. 假设这 n 只灯泡被编号为 [1, 2, 3 - ...
- LeetCode(319):灯泡开关 Bulb Switcher(Java)
2019.8.6 #程序员笔试必备# LeetCode 从零单刷个人笔记整理(持续更新) 每个数i必能分解成任意两个数的乘积(最少会有1*i),因此只有平方数会进行单次开关,因此只需要统计截止n的平方 ...
- 20200308: 生成每种字符都是奇数个的字符串灯泡开关 III(leetcode5352-5353)
生成每种字符都是奇数个的字符串&灯泡开关 III 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 第一题没什么难度,StringBuilder拼接即可 第二题一开始想复杂了,用了Ha ...
- LeetCode 5353. 灯泡开关 III
5353. 灯泡开关 III 房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排.最初,所有的灯都是关着的. 在 k 时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k ...
- 用html和js制作一个控制灯泡开关效果
用html和js制作一个控制灯泡开关效果 **用css样式来控制div图片和文本的位置,然后用js里面onclick点击事件来控制图片的更换效果来实现当前运行图的效果** 1.以下是运行的效果图 2. ...
- 算法 319. 灯泡开关 python
319. 灯泡开关 思路 整数的因数 因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数. class Solution(object):def bulbSwitch( ...
- 【LeetCode】灯泡开关Ⅰ~ Ⅳ(你还是把我关了吧)
[LeetCode]灯泡开关Ⅰ~ Ⅳ
- C/C++描述 LeetCode周赛 5473. 灯泡开关 IV
5473. 灯泡开关 IV 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博 ...
最新文章
- 数据结构[单链表]操作大全(初始化,创建,插入,查询,删除,长度,输出)c++代码实现
- 【c语言】蓝桥杯算法提高 三角形面积
- 全志 移除屏幕超时选项 Patch
- 微信序列号生成器架构设计及演变
- vue.js上传头像插件_一个基于vue2.0的头像上传组件
- QT链接DLL库问题记录
- perl DBI 总结
- 【推荐系统】推荐系统中的图网络模型
- 职场“奇葩说”:我的老板有多坑?
- 72个炫酷的CSS技巧
- 免费的AI线稿图片上色工具+黑白图片上色网站合集(2021年实测可用)
- 各种距离 欧式距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准欧氏距离、马氏距离、余弦距离、汉明距离、杰拉德距离、相关距离、信息熵...
- 网易极客战记-KITHGARD地牢--健忘的宝石匠
- Python实战项目23个实战小项目小程序简单
- druid监控无法关闭(坑),及处理方式
- multimodal prompting
- x200换屏_小黑本“清凉一夏” — Thinkpad X200 拆解清理
- 如何更方便的探讨技术
- 行之有效的Golang编码规范
- python编程从入门到实践(入门)