1758 生成交替二进制字符串的最少操作数
题目描述:
给你一个仅由字符 ‘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 <= 104
s[i] 是 ‘0’ 或 ‘1’
方法1:
主要思路:解题链接汇总
(1)分别统计把第一个字符作为0或作为1时,需要操作的次数,返回两个值中的较小值;
class Solution {public:int minOperations(string s) {int res1=0;int res2=0;int index=0;for(char&ch:s){if(index&1){if(ch=='0'){res1++;}else{res2++;}}else{if(ch=='1'){res1++;}else{res2++;}}++index;}return min(res1,res2);}
};
1758 生成交替二进制字符串的最少操作数相关推荐
- LeetCode每日一题——1758. 生成交替二进制字符串的最少操作数
LeetCode每日一题系列 题目:1758. 生成交替二进制字符串的最少操作数 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个仅由字符 '0' 和 '1' ...
- LeetCode 1758. 生成交替二进制字符串的最少操作数(DP)
文章目录 1. 题目 2. 解题 1. 题目 给你一个仅由字符 '0' 和 '1' 组成的字符串 s . 一步操作中,你可以将任一 '0' 变成 '1' ,或者将 '1' 变成 '0' . 交替字符串 ...
- C++描述 LeetCode 5676. 生成交替二进制字符串的最少操作数
C++描述 LeetCode 5676. 生成交替二进制字符串的最少操作数 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在C ...
- leetcode---1758.生成交替二进制字符串的最少操作数
目录 题目:给你一个仅由字符 '0' 和 '1' 组成的字符串 s .一步操作中,你可以将任一 '0' 变成 '1' ,或者将 '1' 变成 '0' . 交替字符串 定义为:如果字符串中不存在相邻两个 ...
- LeetCode-1758-生成交替二进制字符串的最少操作数
1.逐位遍历 我们想要获得最少操作数,实际上只要与两个字符串进行比较即可,一个是1010交替的字符串,一个是0101交替的字符串.其中我们实际上只需要比较一个字符串即可,因为修改成另一个字符串的操作数 ...
- LeetCode——1888. 使二进制字符串字符交替的最少反转次数(Minimum Number of Flips to Make the Binary ...)[中等]——分析及代码(Java)
LeetCode--1888. 使二进制字符串字符交替的最少反转次数[Minimum Number of Flips to Make the Binary String Alternating][中等 ...
- 365天挑战LeetCode1000题——Day 103 400题 检查二进制字符串字段 最大子序列交替和 最低票价 K 站中转内最便宜的航班
400题,用时103天,平均3.88题/天,预计154天,也就是5个月后完成目标 1784. 检查二进制字符串字段 代码实现(模拟) class Solution {public:bool check ...
- LeetCode 6055. 转化时间需要的最少操作数(贪心)
文章目录 1. 题目 2. 解题 1. 题目 给你两个字符串 current 和 correct ,表示两个 24 小时制时间 . 24 小时制时间 按 "HH:MM" 进行格式化 ...
- 生成24位字符串ID__IdGenerator.java
此工具类用于生成24位字符串ID,唯一不重复. 直接通过 IdGenerator.get() 获取. 源码如下:(点击下载源码 - IdGenerator.java ) 1 import java.n ...
最新文章
- 替换软连接导致的问题
- python中获取python版本号的方法
- php 值不进行解码,无法解码PHP中的JSON值
- Hash Length Extension Attacks
- 明晚直播丨基于IB网络的Oracle Extend RAC最佳实践
- 如何使用AOP改进.NET应用程序
- 返回结果乱码_Spring请求参数和响应结果全局加密和解密(1)
- 计算机关机键消失了,如何解决Windows7电脑中的关机键不见了
- 从0开始搭建微信小程序(前后端)的全过程
- 注册表如何管理右键菜单
- 数据库——求候选键的方法
- 已知圆上三点坐标求圆心
- SUMMARIZE函数解决之前的总计错误
- python怎样遍历列表中数字_Python基础-列表操作(2):列表的遍历和数字列表
- js 点击按钮或者图片,实现图片上传以及将图片显示在页面上
- 用PHP查看微信撤回的消息,python实现文件助手中查看微信撤回消息
- Android10 系统应用wifi连接和静态ip代理设置
- Android内存泄漏情况总结
- 淘宝API 获取购买到的商品订单详情
- JAVA_小小圣诞树
热门文章
- C Primer Plus (第五版) 第十四章 结构和其它数据形式 编程练习
- 使用Scratch进行少儿编程
- openssl制作证书全过程
- 小i机器人2019数博会C位展实力 “认知智能”引领行业创新变革
- 租车APP开发的市场优势和主要功能
- 键盘记录器(有发送到指定qq邮箱的功能。附源代码及使用教程,免费下载)
- Unity游戏设计之飞碟游戏
- 2021高考辽宁英语成绩查询,2021年辽宁高考英语满分多少分?
- 树状结构及文件目录详解
- 在线获取外链的php源码,y.qq.com-php获取QQ音乐外链源码