Acwing4996填充

题目

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

输入格式

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

输出格式

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

数据范围

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

输入样例:

yaml 复制代码
1110?0

输出样例:

复制代码
2

样例解释

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

代码与思路

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

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 小时前
Spring Boot + LangChain4j 统计 token 成本:ChatModelListener 实测与单价口径
spring boot·后端
努力的小郑15 小时前
数据查到了,回答去哪儿了?一次百炼 + LangChain 排查实录
后端·langchain·agent
isfox16 小时前
Python 虚拟环境:别再把所有项目塞进一个"大仓库"了
后端
易师傅16 小时前
技术面试已死?AI 时代,真正拉开程序员差距的是什么?
前端·后端·程序员
苍何16 小时前
办公 Agent 权威评测榜单出炉了,豆包第一
后端
AiMan16 小时前
别再把秘塔会话逐个点开:这可把秘塔多个会话一次导出?AI导出鸭
前端·后端·面试
nice_lcj52017 小时前
【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端
java·后端·spring·spring ai·ai应用开发
卷无止境17 小时前
mathmodel-figure-templates 以及两个上手案例
后端·python
Moment17 小时前
写给迷茫的应届生,怎样在 AI 时代争取更多机会
前端·后端·面试
回家路上绕了弯17 小时前
为什么还是不能直接把需求丢给 AI?
后端