手撕找出字串中長度大於2的重複子字串數

2021-10-09 05:50:34 字數 1173 閱讀 2380

bool substrnum(string s)

}return true;

}

應用:

密碼要求

1.長度超過8位

2.包括大小寫字母.數字.其它符號,以上四種至少三種

3.不能有相同長度大於2的子串重複

輸入描述:

一組或多組長度超過2的子符串。每組佔一行

如果符合要求輸出:ok,否則輸出ng

示例1複製

021abc9000

021abc9abc1

021abc9000

021$bc9000

複製

ok

ngng

ok

#include #include #include using namespace std;

/*bool substrnum(string str)

}return true;

}int main()

; if(str.size()<=8) goto ng;

for(int i=0;i='a' && str[i]<='z') flag[0]=1;

else if(str[i]>='a'&& str[i]<='z') flag[1]=1;

else if(str[i]>='0'&& str[i]<='9') flag[2]=1;

else flag[3]=1;

}for(int i=0;i<4;i++)

if(sum<3) goto ng;

if(substrnum(str)==0 ) goto ng;

/*for(int i = 0; i <= str.size()-6; i++)

for(int j = i+3;j < str.size();j++)

if(str[i] == str[j] && str[i+1] == str[j+1] &&str[i+2] == str[j+2]) goto ng;*/

ok:cout<<"ok"

cout<<"ng"<}

return 0;

}

找出字串中對稱的子字串的最大長度

閒來無事翻了翻之前的面試書,有一道題勾起了我的興趣,題目如下 輸入乙個字串,輸出該字串中對稱的子字串的最大長度。比如輸入字串 google 由於該字串裡最長的對稱子字串是 goog 因此輸出4。int getlongestsymmetricalsubstrlength char str newlen...

找出字串中對稱的子字串的最大長度 最長回文

背景 所謂對稱子字串,就是這個子字串要麼是以其中乙個詞對稱 比如 aba abcba 要麼就完全對稱 比如 abba abccba 問題 給你乙個字串,找出該字串中對稱的子字串的最大長度。思路 首先,我們用字元陣列 char array 來保持這個字串,假設現在已經遍歷到第 i 個字元,要找出以該字...

找出字串的所有子字串

字首樹實現,遍歷字串。把字串中的每乙個字元都視為字首,用乙個字首樹儲存以每乙個字元為開頭的字串 舉例為 abbc 然後遍歷字首樹,把每個子樹的每一層都作為乙個字串輸出即可。import copy class trienode object def init self,word self.word w...