Python 程式檢查字串是否重複
假設我們有一個字串,我們需要檢查它是否是一個重複字串。
因此,如果輸入類似於 string = "helloworldhelloworld",則輸出將為 True
為了解決這個問題,我們將遵循以下步驟:
- n := s 的大小
- 定義一個函式 findFactors()。這將接收 n
- f := 一個新的集合
- i := 1
- 當 i * i <= n 時,執行以下操作:
- 如果 n mod i 等於 0,則:
- 將 (n / i) 的商插入 f
- 將 i 插入 f
- i := i + 1
- 如果 n mod i 等於 0,則:
- 返回 f
- 從主方法中執行以下操作:
- fact := findFactors(n)
- 對於 fact 中的每個 i,執行以下操作:
- 如果 i 等於 n,則:
- 進入下一個迭代
- ss := s[從索引 0 到 i-1]
- val := ss 在 s 中出現的次數
- 如果 val 等於 (n/i) 的商,則:
- 返回 True
- 如果 i 等於 n,則:
- 返回 False
讓我們看一下以下實現以更好地理解:
示例
class Solution:
def solve(self, s):
n = len(s)
def findFactors(n):
f = set()
i = 1
while(i * i <= n):
if(n % i == 0):
f.add(int(n / i))
f.add(i)
i+= 1
return f
fact = findFactors(n)
for i in fact:
if(i == n):
continue
ss = s[:i]
val = s.count(ss)
if(val == int(n / i)):
return True
return False
ob = Solution()
print(ob.solve("helloworldhelloworld"))輸入
"helloworldhelloworld"
輸出
True
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP