问题标题: 酷町堂:4523 无重复的最长子串

0
0
禄子墨
禄子墨
初级守护
初级守护
#include <iostream>
#include <cstring>
using namespace std;

string s;
int cnt;
int m;

int main() {

    cin >> s;
    for(int i=0; i<=s.size(); i++) {
        if(s[i] != s[i+1]){
           cnt++;
        }
        else
        {
            m=max(cnt,m);
            cnt=1;
        }

    }
    cout << m;

    return 0;
}

题目链接

样例能过,但是上传上去零分,求指点


0
蒋文瀚
蒋文瀚
新手光能
新手光能

我也是

蒋文瀚在2020-08-18 21:34:23追加了内容

1.   <=?

2.    0~~~s.size()-1   s[i]!=s[i+1]   i+1?

 

我也错了,只能指点到这里

0
0
张司桥
张司桥
资深守护
资深守护
string s;
    int maxn;
    char a[1001];
    输入>>s;
    for(int i=0;i<s.size();i++){
        int cnt=0,k=0;
        memset(a,0,sizeof(a));
        for(int j=i;j<s.size();j++){
            if(a[s[j]]==0){
                cnt++;
                a[s[j]]++;
            } else {
                maxn=max(cnt,maxn);
                break;
            }
        }
    }
    输出<<maxn;
    return 0;

 

0
0
侯雨宸
侯雨宸
初级守护
初级守护

你思路就错了

代码:

cin>>s;
    for(int i=0;i<s.size();i++){
        int cnt=0,k=0;
        memset(a,0,sizeof(a)); 
        for(int j=i;j<s.size();j++){
            if(a[s[j]]==0){
                cnt++;
                a[s[j]]++;
            }else{
                maxn=max(cnt,maxn);
                break;
            }
        }
    }
    cout<<maxn;

思路:是不能重复“字符”,你看都是桶。

望采纳

0
我要回答