Acwing4996填充

题目

有一个长度为 n 的 01 串,其中有一些位置标记为 ?,这些位置上可以任意填充 0 或者 1,请问如何填充这些位置使得这个 01 串中出现互不重叠的 0011 子串最多,输出子串个数。

输入格式

输入一行包含一个字符串。

输出格式

输出一行包含一个整数表示答案。

数据范围

对于所有评测用例,1≤n≤106

输入样例:

yaml 复制代码
1110?0

输出样例:

复制代码
2

样例解释

如果在问号处填 0,则最多出现一个 00 和一个 11111000

代码与思路

这道题没什么需要讲的特别思路,就是要想到前后字符相等

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.next();
        int res = 0;
        for (int i = 0;i < s.length() - 1;i ++) {
            char a = s.charAt(i), b = s.charAt(i + 1);
            if (a == b || a == '?' || b == '?') {
                res ++;
                i++;
            }
        }
        System.out.println(res);
    }
}
相关推荐
郑州光合科技余经理14 小时前
同城配送调度系统实战:JAVA微服务
java·开发语言·前端·后端·微服务·中间件·php
Dontla14 小时前
GraphQL介绍(声明式查询)文件上传GraphQL文件上传
后端·graphql
还在忙碌的吴小二14 小时前
Go-View 数据可视化大屏使用手册
开发语言·后端·信息可视化·golang
哪里不会点哪里.14 小时前
什么是 Spring Cloud?
后端·spring·spring cloud
树码小子14 小时前
Spring框架:Spring程序快速上手
java·后端·spring
hssfscv16 小时前
Javaweb学习笔记——后端实战7 springAOP
笔记·后端·学习
消失的旧时光-194316 小时前
第九课实战版:异常与日志体系 —— 后端稳定性的第一道防线
java·后端
麦聪聊数据16 小时前
LiveOps事故零容忍:游戏行业数据库的细粒度权限管控与审计实践
运维·数据库·后端·sql
shepherd12616 小时前
深度剖析SkyWalking:从内核原理到生产级全链路监控实战
分布式·后端·skywalking
橘子师兄16 小时前
C++AI大模型接入SDK—Genimi接入封装
c++·人工智能·后端