题目描述:
给你一个仅由字符 ‘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 生成交替二进制字符串的最少操作数相关推荐

  1. LeetCode每日一题——1758. 生成交替二进制字符串的最少操作数

    LeetCode每日一题系列 题目:1758. 生成交替二进制字符串的最少操作数 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个仅由字符 '0' 和 '1' ...

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

    文章目录 1. 题目 2. 解题 1. 题目 给你一个仅由字符 '0' 和 '1' 组成的字符串 s . 一步操作中,你可以将任一 '0' 变成 '1' ,或者将 '1' 变成 '0' . 交替字符串 ...

  3. C++描述 LeetCode 5676. 生成交替二进制字符串的最少操作数

    C++描述 LeetCode 5676. 生成交替二进制字符串的最少操作数   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在C ...

  4. leetcode---1758.生成交替二进制字符串的最少操作数

    目录 题目:给你一个仅由字符 '0' 和 '1' 组成的字符串 s .一步操作中,你可以将任一 '0' 变成 '1' ,或者将 '1' 变成 '0' . 交替字符串 定义为:如果字符串中不存在相邻两个 ...

  5. LeetCode-1758-生成交替二进制字符串的最少操作数

    1.逐位遍历 我们想要获得最少操作数,实际上只要与两个字符串进行比较即可,一个是1010交替的字符串,一个是0101交替的字符串.其中我们实际上只需要比较一个字符串即可,因为修改成另一个字符串的操作数 ...

  6. LeetCode——1888. 使二进制字符串字符交替的最少反转次数(Minimum Number of Flips to Make the Binary ...)[中等]——分析及代码(Java)

    LeetCode--1888. 使二进制字符串字符交替的最少反转次数[Minimum Number of Flips to Make the Binary String Alternating][中等 ...

  7. 365天挑战LeetCode1000题——Day 103 400题 检查二进制字符串字段 最大子序列交替和 最低票价 K 站中转内最便宜的航班

    400题,用时103天,平均3.88题/天,预计154天,也就是5个月后完成目标 1784. 检查二进制字符串字段 代码实现(模拟) class Solution {public:bool check ...

  8. LeetCode 6055. 转化时间需要的最少操作数(贪心)

    文章目录 1. 题目 2. 解题 1. 题目 给你两个字符串 current 和 correct ,表示两个 24 小时制时间 . 24 小时制时间 按 "HH:MM" 进行格式化 ...

  9. 生成24位字符串ID__IdGenerator.java

    此工具类用于生成24位字符串ID,唯一不重复. 直接通过 IdGenerator.get() 获取. 源码如下:(点击下载源码 - IdGenerator.java ) 1 import java.n ...

最新文章

  1. 替换软连接导致的问题
  2. python中获取python版本号的方法
  3. php 值不进行解码,无法解码PHP中的JSON值
  4. Hash Length Extension Attacks
  5. 明晚直播丨基于IB网络的Oracle Extend RAC最佳实践
  6. 如何使用AOP改进.NET应用程序
  7. 返回结果乱码_Spring请求参数和响应结果全局加密和解密(1)
  8. 计算机关机键消失了,如何解决Windows7电脑中的关机键不见了
  9. 从0开始搭建微信小程序(前后端)的全过程
  10. 注册表如何管理右键菜单
  11. 数据库——求候选键的方法
  12. 已知圆上三点坐标求圆心
  13. SUMMARIZE函数解决之前的总计错误
  14. python怎样遍历列表中数字_Python基础-列表操作(2):列表的遍历和数字列表
  15. js 点击按钮或者图片,实现图片上传以及将图片显示在页面上
  16. 用PHP查看微信撤回的消息,python实现文件助手中查看微信撤回消息
  17. Android10 系统应用wifi连接和静态ip代理设置
  18. Android内存泄漏情况总结
  19. 淘宝API 获取购买到的商品订单详情
  20. JAVA_小小圣诞树

热门文章

  1. C Primer Plus (第五版) 第十四章 结构和其它数据形式 编程练习
  2. 使用Scratch进行少儿编程
  3. openssl制作证书全过程
  4. 小i机器人2019数博会C位展实力 “认知智能”引领行业创新变革
  5. 租车APP开发的市场优势和主要功能
  6. 键盘记录器(有发送到指定qq邮箱的功能。附源代码及使用教程,免费下载)
  7. Unity游戏设计之飞碟游戏
  8. 2021高考辽宁英语成绩查询,2021年辽宁高考英语满分多少分?
  9. 树状结构及文件目录详解
  10. 在线获取外链的php源码,y.qq.com-php获取QQ音乐外链源码