2023河南萌新联赛第(五)场:郑州轻工业大学 --01分数规划

题目描述

给定一个字符串 s,仅含 0, 1, ? 三种字符,你必须将所有 ? 替换为 1 或 0 。

定义 s 的美好值为将所有 ?进行替换后,s的 最长连续 1 或 0 的子串的长度。请你进行所有替换后,使得字符串 s 的美好值最大,请输出这个美好值。

输入描述:

复制代码
本题包含多组数据

第一行包含一个正整数 ,表示测试数据组数。

对于每组数据:

第一行包含一个正整数 ,表示字符串 sss 的长度。

接下来一行一个字符串 s,描述如题目所示,。

数据保证 。

输出描述:

复制代码
对于每组数据:

输出一行一个整数,代表字符串 s 的最大美好值。

链接:登录---专业IT笔试面试备考平台_牛客网

来源:牛客网

示例1

输入

5

5

01110

1

0

4

01??

3

110

3

1??

输出

3

1

3

2

3

思路:

这个题目也比较的简单,我们将其中的?全部转化成1和全部转化成0分别O(n)遍历找最长连续序列就可以

AC代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e5+10;
int a[N];
void solve(){
    int n;
    cin >> n;
    string s;
    cin >> s;
    string s1 = s,s2 = s;
    for(int i = 0;i < n;i++){
        if(s[i] == '?'){
            s1[i] = '0';
            s2[i] = '1';
        }
    }
    int maxx = 0;
    int cnt = 1;
    for(int i = 1;i < n;i++){
        if(s1[i] == s1[i - 1]){
            cnt++;
        }
        else{
            maxx = max(maxx,cnt);
            cnt = 1;
        }
    }
    maxx = max(maxx,cnt);
    cnt = 1;
    for(int i = 1;i < n;i++){
        if(s2[i] == s2[i - 1]){
            cnt++;
        }
        else{
            maxx = max(maxx,cnt);
            cnt = 1;
        }
    }
    maxx = max(maxx,cnt);
    cout << maxx << "\n";
}
int main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int T = 1;
    cin >> T;
    while(T--){
        solve();
    }
    return 0;
}
相关推荐
寻星探路5 分钟前
数据结构青铜到王者第三话---ArrayList与顺序表(1)
数据结构
今后1235 分钟前
【数据结构】顺序表详解
数据结构·顺序表
啟明起鸣7 分钟前
【数据结构】B 树——高度近似可”独木成林“的榕树——详细解说与其 C 代码实现
c语言·开发语言·数据结构
这周也會开心7 分钟前
数据结构-ArrayList
数据结构
nonono7 分钟前
数据结构——线性表(链表,力扣中等篇,技巧型)
数据结构·leetcode·链表
hrrrrb7 分钟前
【数据结构】栈和队列——队列
数据结构
XMZH030428 分钟前
数据结构:单向链表的逆置;双向循环链表;栈,输出栈,销毁栈;顺序表和链表的区别和优缺点;0825
数据结构·链表·
lxmyzzs29 分钟前
【图像算法 - 23】工业应用:基于深度学习YOLO12与OpenCV的仪器仪表智能识别系统
人工智能·深度学习·opencv·算法·计算机视觉·图像算法·仪器仪表识别
Learn Beyond Limits32 分钟前
Multi-output Classification and Multi-label Classification|多输出分类和多标签分类
人工智能·深度学习·神经网络·算法·机器学习·分类·吴恩达
张较瘦_39 分钟前
[论文阅读] 软件工程 | GPS算法:用“路径摘要”当向导,软件模型检测从此告别“瞎找bug”
论文阅读·算法·bug