WARush

SRMの結果とか、解けた問題のコードを書いていきます

SRM556 Div2 Easy "ChocolateBar"

問題

文字列Sが与えられる。
Sから同じ文字がないような部分文字列を作る時、
最も長い部分文字列の長さを返せ。

制約

1 <= Sの長さ <= 50

方針

部分文字列を取り始める位置について全探索する

ソースコード
class ChocolateBar {
public:
    int maxLength(string letters){
        int n = letters.length();
        int res = 0;
        for( int s = 0; s < n; s++ ){
            set<char> cs;
            int e = s;
            for( ; e < n; e++ ){
                if( cs.find(letters[e]) != cs.end())break;
                cs.insert(letters[e]);
            }
            res = max( res, e-s );
        }
        return res;
    }
}