C/C++描述 LeetCode周赛 5473. 灯泡开关 IV
5473. 灯泡开关 IV
大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客
本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!!
房间中有 n
个灯泡,编号从 0
到 n-1
,自左向右排成一行。最开始的时候,所有的灯泡都是 关 着的。
请你设法使得灯泡的开关状态和 target
描述的状态一致,其中 target[i]
等于 1
第 i
个灯泡是开着的,等于 0
意味着第 i
个灯是关着的。
有一个开关可以用于翻转灯泡的状态,翻转操作定义如下:
- 选择当前配置下的任意一个灯泡(下标为
i
) - 翻转下标从
i
到n-1
的每个灯泡
翻转时,如果灯泡的状态为 0
就变为 1
,为 1
就变为 0
。
返回达成 target
描述的状态所需的 最少 翻转次数。
示例 1:
输入:target = "10111"
输出:3
解释:初始配置 "00000".
从第 3 个灯泡(下标为 2)开始翻转 "00000" -> "00111"
从第 1 个灯泡(下标为 0)开始翻转 "00111" -> "11000"
从第 2 个灯泡(下标为 1)开始翻转 "11000" -> "10111"
至少需要翻转 3 次才能达成 target 描述的状态
示例 2:
输入:target = "101"
输出:3
解释:"000" -> "111" -> "100" -> "101".
示例 3:
输入:target = "00000"
输出:0
示例 4:
输入:target = "001011101"
输出:5
提示:
1 <= target.length <= 10^5
target[i] == '0'
或者target[i] == '1'
5473. 灯泡开关 IV 题解
由于只能一次转换i到n-1个位置灯的状态,所以最佳策略就是从0开始向后,如果状态不一样,则进行一次转化。
class Solution {public:int minFlips(string target) {int ans = 0;int len = target.length();char s[2] = {'0','1'};int flag = 0;for(int i = 0 ; i < len; i++){if(target[i] == s[flag])continue;else{ans++;flag = (flag+1)%2;}}return ans;}
};
C/C++描述 LeetCode周赛 5473. 灯泡开关 IV相关推荐
- leetcode 5473. 灯泡开关 IV (阿里云周赛)
房间中有 n 个灯泡,编号从 0 到 n-1 ,自左向右排成一行.最开始的时候,所有的灯泡都是 关 着的. 请你设法使得灯泡的开关状态和 target 描述的状态一致,其中 target[i] 等于 ...
- leetcode 5473. 灯泡开关 IV(C++)
房间中有 n 个灯泡,编号从 0 到 n-1 ,自左向右排成一行.最开始的时候,所有的灯泡都是 关 着的. 请你设法使得灯泡的开关状态和 target 描述的状态一致,其中 target[i] 等于 ...
- 【LeetCode Python实现】 5473. 灯泡开关 IV(中等)
想要看更加舒服的排版.更加准时的推送 关注公众号"不太灵光的程序员" 每日八点有干货推送,微信随时解答你的疑问 文章目录 题目描述 示例 1: 示例 2: 示例 3: 示例 4: ...
- leetcode 5473. 灯泡开关 IV medium (智力题,O(n)思路详解)
题目链接:https://leetcode-cn.com/problems/bulb-switcher-iv/ 解题思路 一开始真的在傻傻地反转字符串,果断超时. 后来终于摸索出规律: 连续的0可以视 ...
- 力扣199场比赛 5473. 灯泡开关 IV
房间中有 n 个灯泡,编号从 0 到 n-1 ,自左向右排成一行.最开始的时候,所有的灯泡都是 关 着的. 请你设法使得灯泡的开关状态和 target 描述的状态一致,其中 target[i] 等于 ...
- C/C++描述 LeetCode 周赛 第199场周赛(阿里云专场)
C/C++描述 LeetCode 周赛 第199场周赛(阿里云专场) 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN ...
- leetcode - 22 672. 灯泡开关 Ⅱ
房间中有 n 只已经打开的灯泡,编号从 1 到 n .墙上挂着 4 个开关 . 这 4 个开关各自都具有不同的功能,其中: 开关 1 :反转当前所有灯的状态(即开变为关,关变为开) 开关 2 :反转编 ...
- leetcode,脑筋急转弯,灯泡开关问题
题目 初始时有 n 个灯泡关闭. 第 1 轮,你打开所有的灯泡. 第 2 轮,每两个灯泡你关闭一次. 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭).第 i 轮,每 i 个灯泡切 ...
- C/C++描述 LeetCode 周赛 5472. 重新排列字符串
5472. 重新排列字符串 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博 ...
最新文章
- STM32低功耗模式下GPIO如何配置最节能?
- 巴菲特评科技股:投资 IBM 是个错误,还会增持苹果,亚马逊简直是奇迹
- eclipse导入Java文件后出现中文乱码
- TEdit扩展:做成多按钮的Edit,可用作浏览器地址栏
- 介绍一个办法查TREX search的log
- 补肾分男女,养肾如养命
- 1109: 数根(函数专题)
- sklearn 常用api(一)
- 【已解决】Maven更改本地默认仓库时遇到的问题。 No implementation for org.apache.maven.model.path.PathTranslator was bound
- react native中使用 react-native-easy-toast 和react-native-htmlview
- Java 集合及底层源码分析,Java零基础入门pdf
- mybatis事务处理
- c语言编译bss和data,深入理解BSS段与data段的区别
- 一代盘神谢幕!百度网盘 Pandownload 开发者被抓了!
- excel排序求和:如何统计前几名数据合计 下篇
- win7我的计算机无法搜索,解决Win7系统搜索功能不能用的问题
- .NET 请求被挂起,前端轮询,委托
- 基于微信小程序的校园自助打印系统小程序
- 高级IDE工具:Elipse的使用
- 上网本安装linux_微软杀死了Linux上网本吗?