LeetCode 1758. 生成交替二进制字符串的最少操作数(DP)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。
一步操作中,你可以将任一 ‘0’ 变成 ‘1’ ,或者将 ‘1’ 变成 ‘0’ 。

交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。
例如,字符串 “010” 是交替字符串,而字符串 “0100” 不是。

返回使 s 变成 交替字符串 所需的 最少 操作数。

示例 1:
输入:s = "0100"
输出:1
解释:如果将最后一个字符变为 '1' ,s 就变成 "0101" ,即符合交替字符串定义。示例 2:
输入:s = "10"
输出:0
解释:s 已经是交替字符串。示例 3:
输入:s = "1111"
输出:2
解释:需要 2 步操作得到 "0101""1010" 。提示:
1 <= s.length <= 10^4
s[i]'0''1'

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

2. 解题

  • 分别考虑每个位置是 1,或者 0 的时候的最小操作次数,动态规划思想
class Solution {
public:int minOperations(string s) {int one = s[0] == '0';int zero = s[0] == '1';int dp0, dp1;for(int i = 1; i < s.size(); ++i){if(s[i] == '1'){dp0 = one + 1;dp1 = zero;}else{dp0 = one;dp1 = zero + 1;}one = dp1;zero = dp0;}return min(zero, one);}
};

4 ms 6.8 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472897.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python内置的集成开发工具是什么_python内置的集成开发工具是什么_后端开发

go语言之goroute协程_后端开发 协程&#xff08;coroutine&#xff09;是Go语言中的轻量级线程实现&#xff0c;由Go运行时&#xff08;runtime&#xff09;管理。下面就来由go入门教程栏目介绍一下go语言中的goroute协程。python内置的集成开发工具是什么 Python自带的集成开发…

python槽格式里填啥_用于填充插槽的网络挂钩

有时将param设置为required是不够的&#xff0c;因为您不仅需要该param存在&#xff0c;而且需要以特定的格式显示&#xff0c;还有一种使用events的替代方法。在有多个步骤&#xff0c;但一旦你熟悉了&#xff0c;你会做得很快。在1)创建2个新的意图&#xff1a;Year - Confir…

SQL Server 2008R2数据库文件导入到SQL Server 2008数据库中

最近&#xff0c;电脑重装系统之后&#xff0c;安装了SQL Server 2008。附加数据库文件的时候&#xff0c;发现无法附加&#xff0c;提示版本不对。想起来&#xff0c;原来的数据库版本是SQL Server 2008R2。低版本的数据库管理工具无法兼容高版本的数据库文件&#xff0c;所以…

python语言的注释语句引导符_Python 为什么用 # 号作注释符?

关于编程语言中的注释&#xff0c;其重要性基本上已为大家所共识。 然而关于注释的规范&#xff0c;这个话题就像我们之前聊过的缩进、终止符和命名方式一样&#xff0c;众口难调。 注释符通常可分为两种&#xff0c;即行注释与块注释&#xff08;inline/block&#xff09;&…

python 白化_MeteoInfo和Python显著性检验

MeteoInfo显著性检验&#xff1a;MeteoInfo官网&#xff1a;http://www.meteothink.org源代码&#xff1a;https://github.com/meteoinfofn F:/RMeteoInfo/data/test.txtny 71nx 144m ny * nxn 62ss1 asciiread(fn, shape(71,144,n))ss1 ss1[::-1,::1,:]X ss1.reshape(…

最新版本_adt-bundle-windows-x86_64-20140702 无法建立avd

问题描述不是说:"__ADT Bundle包含了Eclipse、ADT插件和SDK Tools&#xff0c;是已经集成好的IDE&#xff0c;只需安装好Jdk即可开始开发&#xff0c;推荐初学者下载ADT Bundle&#xff0c;不用再折腾开发环境。"为什么我下了最新的 版本,还是无法建立 AVD.解决方案1…

LeetCode 1760. 袋子里最少数目的球(二分查找)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums &#xff0c;其中 nums[i] 表示第 i 个袋子里球的数目。同时给你一个整数 maxOperations 。 你可以进行如下操作至多 maxOperations 次&#xff1a; 选择任意一个袋子&#xff0c;并将袋子里的球分到 2 个新的袋子中&a…

判断鼠标不在控件上_VB常用控件属性讲解单选按钮、复选框总结

1单选按钮、复选框做为VB编程中的选择性控件&#xff0c;在实际程序中有着广泛的应用&#xff0c;所以熟练掌握其特殊属性的用法就很重要了&#xff01;单选按钮、复选框的实际应用图复选框(CheckBox)控件属性说明Name复选框控件的名称Alignment设置标题文本的对齐方式, 取值为…

LeetCode 1763. 最长的美好子字符串

文章目录1. 题目2. 解题1. 题目 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中&#xff0c;就称这个字符串 s 是 美好 字符串。 比方说&#xff0c;"abABB" 是美好字符串&#xff0c;因为 ‘A’ 和 ‘a’ 同时出现了&#xff0c;且 ‘B’ 和 ‘…

linux下的socket通信小程序分享——第三圣子

第三圣子 最近学习unix网络编程&#xff0c;感觉东西零零碎碎&#xff0c;比较混乱。因此决定整理以下&#xff0c;发一个小博客。一来可以与大家分享以下&#xff0c;二来可以总结提高一下所学的东西。话说&#xff1a;竹子为什么长的高&#xff0c;因为它喜欢总结阿&#xff…

处理器指令编码可重定义的方法_从零开始设计四位栈处理器(2)——结构与指令集...

从零设计四位栈处理器&#xff08;2&#xff09;——结构与指令集一句话概括&#xff1a; 在Toxic处理器中&#xff0c;万物皆栈。熟悉汇编语言的同学会了解&#xff0c;一般的汇编语言&#xff0c;会包含以下几个部分&#xff1a;寄存器地址立即数操作码在这期文章中&#xff…

raptor累乘流程图_Markdown快速上手指南

Markdown快速上手指南1、Markdown介绍markdown可以实现快速html文档编辑&#xff0c;格式优没&#xff0c;并且不需要使用html元素。 markdown采用普通文本的形式&#xff0c;例如读书笔记等易于使用的文本格式进行编写。 如果实在需要生成markdown不支持的html元素的话&#x…

OA项目10:部门管理的三个细节问题的解决及处理懒加载问题

首注&#xff1a;本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记&#xff0c;本人用此来加强巩固自己开发知识&#xff0c;如有网友转载&#xff0c;请注明。谢谢。 一 部门管理遗留三个细节问题&#xff0c;及其处理方法&#xff1a; 1.当选择了子…

LeetCode 1764. 通过连接另一个数组的子数组得到一个数组

文章目录1. 题目2. 解题1. 题目 给你一个长度为 n 的二维整数数组 groups &#xff0c;同时给你一个整数数组 nums 。 你是否可以从 nums 中选出 n 个 不相交 的子数组&#xff0c;使得第 i 个子数组与 groups[i] &#xff08;下标从 0 开始&#xff09;完全相同&#xff0c;…

db文件怎么修改_MongoDB最新4.2.7版本三分片集群修改IP实操演练

背景重新组网&#xff0c;需要对现有MongoDB分片集群服务器的IP进行更改&#xff0c;因此也需要对MongoDB分片集群的IP也进行相应的更新&#xff0c;而MongoDB分片集群的IP修改不能单纯的通过配置来进行&#xff0c;需要一番折腾后才能正常更新&#xff0c;这里对整个MongoDB集…

mysql 版本查询_查看mysql版本

1:终端:mysql -V [root@localhost~]# mysql -V mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) 2:在mysql中:mysql> status; mysql> status; ————– mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) Connection id: 416 S…

cron 每周一执行_详解定时任务中的 cron 表达式

1.前言 我们经常使用 cron 表达式来定义定时任务的执行策略,今天我们就总结一下 cron 表达式的一些相关知识。 2. cron 表达式的定义 cron 表达式是一个字符串,该字符串由 6 个空格分为 7 个域,每一个域代表一个时间单位。格式如下: [秒] [分] [时] [日] [月] [周] [年] 通…

OGEngine教程:声音载入

以下介绍声音资源从载入到播放的一个流程 首先&#xff0c;我们将须要的音频文件放到assets文件夹下&#xff0c;OGE中SoundRes和MusicRes为我们封装了非常多经常使用的方法&#xff0c;能够用于载入及播放等经常使用功能。 载入 //设置声音读取路径 Device.getDevice().getSou…

python中缩进在程序中_有没有办法将Python代码中的缩进转换为大括号?

Python支持用于定义代码块的大括号&#xff0c;并且它还支持使用“开始”和“结束”标记。 请看这些代码示例&#xff1a;class MyClass(object): #{ def myfunction(self, arg1, arg2): #{ for i in range(arg1): #{ print i #} #} #} 还有一个带有bash样式的例子&#xff1a;…

LeetCode 1765. 地图中的最高点(BFS)

文章目录1. 题目2. 解题1. 题目 给你一个大小为 m x n 的整数矩阵 isWater &#xff0c;它代表了一个由 陆地 和 水域 单元格组成的地图。 如果 isWater[i][j] 0 &#xff0c;格子 (i, j) 是一个 陆地 格子。 如果 isWater[i][j] 1 &#xff0c;格子 (i, j) 是一个 水域 格…