フロントエンドエンタープライズインタビューの質問:実際のエンタープライズケース37

空でない文字列が与えられた場合、それが複数回繰り返される部分文字列で構成できるかどうかを判断します。指定された文字列には小文字の英字のみが含まれ、長さは10,000を超えません。

例1:

输入: "abab"
输出: True
解释: 可由子字符串 "ab" 重复两次构成。

例2:

输入: "aba"
输出: False

例3:

输入: "abcabcabcabc"
输出: True
解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。)

 

 

アイデア:

定期的に使用して、文字列が重複コンテンツであるかどうかを確認します

最初のキャラクターから始めて、キャラクターの数を徐々に増やします

半分以上になるまで、重複するコンテンツは見つかりません、あきらめます

var repeatedSubstringPattern = function(s) {
    var len = parseInt(s.length/2);
    for(var i=1; i<=len; i++){
        var reg = new RegExp( '^('+s.substring(0,i)+")+$", "g" );
        if(reg.test(s)) return true;
    }
    return false;
};

おすすめ

転載: blog.csdn.net/GUDUzhongliang/article/details/108600181