Algorithm yyds 2022-03-03 18:02 采纳率: 100%
浏览 35
已结题

字符统计问题二 C++

Description
话说实验室有个胖子叫小明,还有个瘦的叫小兵,小兵他已经来了好几天啦,ls也一直叫他练打英文字母,小兵就没有小明听话,他老是偷懒,ls想让他动动脑筋,于是就给他出了个问题来惩罚他偷懒。现在我们把两个英文字母的ASCII码的差的绝对值称为这两个字符的“距离”,如果给你一个字符串和上面定义的“距离”的值,问小兵在这个串里最长的连续的子串有多长?当然这个子串的任意两个字符的距离一定不超过给定的距离值!亲爱的同学们,如果你们同情瘦个子小兵,那么你就帮他写个程序,计算一下符合要求的子串最长到底是多少?

Input
假定字符串都是由英文小写字母组成的,长度不超过100000。输入有两行,第一行是整数d即指给定的距离值,d>=0;另一行是字符串。

Output
输出也有两行,第一行的格式是:“From=XX,To=XX”,第二行的格式是:“MaxLen=XX”。本问题有多组测试数据。如果有多组符合要求的解,那么输出起始位置最小的解。

Sample Input
2
vdtjajcrnamkzequrcnojumsjnbyzsotkebnrkycbvbmcsqdvjght
15
hpenlvlknkrtpmkmkbxcpbbpxxipxmgxnysryttuowyxppgmndoxzizdilnjdqawieab

Sample Output
From=11,To=12
MaxLen=2
From=32,To=46
MaxLen=15

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-03-03 19:05
    关注
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
        int d;
        string s;
        while (cin >> d >> s)
        {
            int from = 0, to = 0, maxLen = 0;
            for (size_t i = 0; i < s.length(); i++)
            {
                size_t j = i;
                char min = s[i];
                char max = s[i];
                while (j < s.length() && (max - min) <= d)
                {
                    j++;
                    if (s[j] < min)
                        min = s[j];
                    if (s[j] > max)
                        max = s[j];
                }
                if (int(j - i) > maxLen)
                {
                    from = i + 1;
                    to = j;
                    maxLen = j - i;
                }
            }
            cout << "From=" << from << ",To=" << to << '\n';
            cout << "MaxLen=" << maxLen << '\n';
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月3日

悬赏问题

  • ¥15 r语言神经网络自变量重要性分析
  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢