浏览器标题切换
浏览器标题切换end

寒假Day46:CodeForces1321C-Remove Adjacent-字符串+思维

题目链接:CodeForces - 1321E 

题意:给出一串长度为n的字符串,遍历整个字符串,若该字符的前或后一个字符是字典序在该字符在字典序的前一位,就可以删除

问:最多能够删除多少个

 

思路:如果直接遍历暴力判断,第一组样例就可以看出不对

所以最优选择就是从z开始到a去遍历整个字符串

 

给两组另外样例:

10

bbbbbbabbb

10

bbbbbbbbbb

 

AC代码:

复制代码
#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    string a;
    while(cin>>n)
    {
        cin>>a;
        int ans=0;
        for(int i='z'; i>='a'; i--)
        {
            for(int j=0; j<n; j++)
            {
                if(a[j]==i)
                {
                    if((j>=1&&(a[j-1]+1==i))||(j<=n-2&&a[j+1]+1==i))
                    {
                        a.erase(j,1);
                        ans++;
                        n--;
                        j=-1;
                    }
                }

            }
        }
        cout<<ans<<endl;
    }
    return 0;
}
复制代码

 

posted @   抓水母的派大星  阅读(134)  评论(4编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示