首页 > 试题广场 >

最长连续字符

[编程题]最长连续字符
  • 热度指数:145 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定字串A,找出其中包含的最长连续字符

输入描述:
输入字串A,例如:
AAABBBCDDAAAAAACD


输出描述:
输出最靠前且最长的一个字串,例子里的输入应该输出
AAAAAA
示例1

输入

AAABBBCDDAAAAAACD

输出

AAAAAA
while 1:
    try:
        a=input()
        an=''
        for i in range(len(a)):
            for j in range(i+1,len(a)+1):
                if len(set(a[i:j]))==1:
                    if len(a[i:j])>len(an):
                        an=a[i:j]
        print(an)
    except:
        break
开始提交一直超时,过了会提交就通过了?莫名其妙?
发表于 2021-06-04 20:49:51 回复(0)
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s;
    cin>>s;
    int cnt = 1;
    char ans = s[0];
    char last = s[0];
    int cntlast = 1;
    for(int i=1; i<s.size(); i++){
        if(s[i] == s[i-1]){
            cntlast++;
        } else {
            if(cntlast > cnt) {
                cnt = cntlast;
                ans = last;
            }
            cntlast = 1;
            last = s[i];
        }
    }
    if(cntlast > cnt) {
        cnt = cntlast;
        ans = last;
    }
    string res(cnt, ans);
    cout<<res<<endl;
    return 0;
}

发表于 2020-08-12 21:21:02 回复(0)
60%AC,看不懂它的测试用例
发表于 2020-03-24 12:21:46 回复(0)