12.填充

12.填充 - 蓝桥云课 (lanqiao.cn)

问题描述

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

输入格式

输入一行包含一个字符串

输出格式

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

样例输入

1110?0

样例输出

复制代码
import os
import sys

# 请在此输入您的代码
s=input()
n=len(s)
dp=[0]*n

for i in range(1,n):
  if s[i]==s[i-1] or s[i]=='?' or s[i-1]=='?': #如果当前位置的字符与前一个位置的字符相同,或者当前位置或前一个位置为问号(?)
    dp[i]=dp[i-2]+1  #i-2应该是因为要00/11 才算进子串数量
  else: #如果当前位置的字符与前一个位置的字符不相同,且当前位置和前一个位置都不是问号
    dp[i]=dp[i-1] #0,1变化,最长字串长度不发生变化,等于前一个长度
print(dp[-1])
相关推荐
x_xbx7 分钟前
LeetCode:202. 快乐数
算法·leetcode·职场和发展
Ujimatsu7 分钟前
数据分析相关面试题-Python部分
大数据·python·数据分析
未知鱼9 分钟前
Python安全开发之简易Xss检测工具(详细注释)
python·安全·xss
yaoxin52112317 分钟前
368. Java IO API - 基本文件属性
java·开发语言·python
老虎062721 分钟前
LeetCode热题100 刷题笔记(第四天)二分 「 寻找两个正序数组的中位数」
笔记·算法·leetcode
_日拱一卒22 分钟前
LeetCode:最小覆盖字串
java·数据结构·算法·leetcode·职场和发展
小O的算法实验室23 分钟前
2026年IEEE TEVC,面向农业多机器人任务分配的自适应多目标任务划分算法,深度解析+性能实测
算法·机器人·论文复现·智能算法·智能算法改进
Ujimatsu26 分钟前
数据分析相关面试题-A/B 测试 & 统计学部分
算法·机器学习·数据分析
郝学胜-神的一滴28 分钟前
Qt6 + OpenGL 3.3 渲染环境搭建全指南:从空白窗口到专属渲染画布的优雅实现
数据结构·c++·线性代数·算法·系统架构·图形渲染
程序媛徐师姐29 分钟前
Python基于机器学习的就业岗位推荐系统【附源码、文档说明】
python·机器学习·python机器学习·就业岗位推荐系统·python就业岗位推荐系统·python机器学习就业推荐·就业岗位推荐