题目链接:https://leetcode-cn.com/problems/bulb-switcher-iv/

解题思路

一开始真的在傻傻地反转字符串,果断超时。

后来终于摸索出规律:

连续的0可以视为1个0,连续的1可以视为1个1

比如:
001011101
可以视为
010101

因为连续相同的0或1,在反转的时候可以顺便全部反转了。

然后可以从最后一位开始反转,得到:
010100

合并最后两个0,变成了:
01010

这就又得到下面的规律:

一次反转,可以解决一位。

那么就看合并后的字符串中,第一个’1’后面总共多少位就可以了。若第一位是1,需要额外反转1次,可以直接前面加个’0’统一化处理。

代码实现上,只要统计出从前向后0-1变化次数即可。

下面是大神liouzhou_101的代码。(本人的代码实在不够简洁…)

代码

class Solution {public:int minFlips(string s) {s = "0"+s;int res = 0;for (int i = 1; i < s.size(); ++i)if (s[i] != s[i-1]) ++res;return res;}
};

leetcode 5473. 灯泡开关 IV medium (智力题,O(n)思路详解)相关推荐

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

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

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

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

  3. C/C++描述 LeetCode周赛 5473. 灯泡开关 IV

    5473. 灯泡开关 IV   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博 ...

  4. vue实现单选做题根据对错标色,作对跳转下一题,实现思路详解

    vue实现单选做题效果详解 最近在做一个答题项目,废了好多时间,经过折腾和在大佬的指导下,终于清晰的了解逻辑,如果你也遇到此类问题,不妨先看看我的思路,看完点个赞,那是继续跟新的动力 此案例是使用sw ...

  5. 【LeetCode Python实现】 5473. 灯泡开关 IV(中等)

    想要看更加舒服的排版.更加准时的推送 关注公众号"不太灵光的程序员" 每日八点有干货推送,微信随时解答你的疑问 文章目录 题目描述 示例 1: 示例 2: 示例 3: 示例 4: ...

  6. 力扣199场比赛 5473. 灯泡开关 IV

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

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

    [LeetCode]灯泡开关Ⅰ~ Ⅳ

  8. 蓝桥杯java B组历年省赛真题汇总及题目详解

    蓝桥杯java B组历年省赛真题汇总及题目详解 2019年第十届蓝桥杯省赛真题详解 2018年第九届蓝桥杯省赛真题详解 2017年第八届蓝桥杯省赛真题详解 2016年第七届蓝桥杯省赛真题详解 2015 ...

  9. 蓝桥杯历年省赛JAVA-B组真题汇总及题目详解

    蓝桥杯 历年省赛JAVA-B组真题汇总及题目详解 题目大致介绍: 第一题到第三题以及第六题是结果填空,方法不限得到最后结果就行. 第四题和第五题是代码填空题,主要考察算法基本功和编程基本功. 第八题到 ...

最新文章

  1. C#中的Decimal类型
  2. 安装tensorflow_gpu,无法定位程序输入点
  3. css3中transform的用法
  4. LDAP Schema的概念和基本要素
  5. java 线程池技术_Java线程池技术以及实现
  6. Centos7 安装docker-compose
  7. vue-cli脚手架中webpack配置基础文件详解
  8. java操作集合中 concurrentModifyException 异常的原因分析
  9. C#综合揭秘——细说多线程(下)(转载)
  10. python安装笔记_Python学习笔记(一)python的安装和配置
  11. Pandas处理缺失数据
  12. C语言 求两个数最小公倍数和最大公因数
  13. 081-反射(Kind)
  14. LTE中SRB---无线资源承载
  15. 小白网卡带宽限速神器:wondershaper
  16. 覆盖网络(Overlay Network)
  17. R统计绘图 | 物种组成冲积图(绝对/相对丰度,ggalluvial)
  18. 推荐25种自媒体运营必备工具 (建议收藏)
  19. nginx实现静态文件的token认证
  20. DTI预处理和脑网络构建

热门文章

  1. Windows命令-解压缩文件-tar
  2. 一篇好文之Android数据库 GreenDao的使用指南(源码+案列)
  3. JS跨域设置和取Cookie(二)
  4. php生成小程序二维码出现40001的情况
  5. RTFM:Weakly-supervised Video Anomaly Detection with Robust Temporal Feature【ICCV 2021】附代码注释
  6. 微信小程序开发4——利用自定义组件实现页面内容切换功能
  7. jrtplib学习笔记1
  8. 浏览器地址栏无法直接使用Google搜索问题
  9. Qt QSqlQueryModel详解
  10. 【Web】HTML 账号注册页面