判斷乙個字串陣列中有多少個迴圈單詞的個數

2021-10-23 10:10:08 字數 1216 閱讀 8341

迴圈單詞定義:

str1:picture 

str2 : turepic

str1 與str2 是迴圈單詞

**:

def func(strs):

count = 0

flags = [false for _ in range(len(strs))]

for i in range(len(strs)):

for j in range(i+1, len(strs)):

if flags[j] == true:

continue

c = strs[i][0] #"p"

p1 = 0 #"index"

if strs[j].find(c) != -1:

p2_start = strs[j].index(c)

p2 = p2_start

while strs[i][p1] == strs[j][p2]:

p1 = (p1 + 1) % len(strs[i])

p2 = (p2 + 1) % len(strs[j])

if p1 == 0 and p2 == p2_start:

if not flags[i] and not flags[j]:

count += 1

flags[i] = true

flags[j] = true

break

return count

if __name__ == "__main__":

str1 = "picture"

str2 = "turepic"

str5 = "icturep"

str6 = "picture"

str7 = "picture"

str3 = "word"

str4 = "rdwo"

str8 = "aaa"

str9 = "aaa"

strs = [str1, str2, str3, str4, str5, str6, str7, str8, str9]

res = func(strs)

print(res)

給自己立乙個flag, 每道演算法題都要在20分鐘寫出bug free的**。我知道這非常有難度,但是還是因為不熟練啊,孰能生巧。

思路: 5分鐘,**: 10 分鐘, 優化: 5分鐘。以後每次都要這樣訓練。

給定乙個字串,計算這個字串中有多少個回文子串

用例 輸入乙個字串s 例如 aabcb 符合條件的字串有 a a aa b c b bcb 所以答案 7 思路 先篩選首位相同字母的字串,如aa,bcb。篩選出來後,再對篩選出來的字串判斷,依次比較前後對應兩個字元是否相同,相同繼續判斷,不相同結束當前字串的判斷。一直比較到最後剩下兩種情況 1 只剩...

php判斷乙個字串包含另乙個字串

a 58252,58253 如果 a 中存在 b,則為 true 否則為 false。b 58253 if strpos a,b false else 查詢字串在陣列中出現的次數 array array 1,hello 1,world hello 11 計算 string在 array 需為陣列 中...

SQL 判斷乙個字串是否在另外乙個字串中

eg str1 admin str2 1234,123admin,xcxx 比較str1是否在str2中 用常用的charindex,返回肯定是有值的,這裡自己動手寫乙個方法 檢查乙個字串是否在另外乙個字串中數,另外乙個字串元素用,隔開 create function dbo checkstrina...