Python程式:檢查能否從給定字串字元中建立k個迴文?
假設我們有一個字串s和另一個數字k,我們必須檢查是否可以使用s中的所有字元建立k個迴文。
因此,如果輸入類似於s = "amledavmel" k = 2,則輸出將為True,因為我們可以建立"level"和"madam"。
為了解決這個問題,我們將遵循以下步驟:
d := 一個儲存每個唯一字元及其頻率的對映
cnt := 0
對於d中的每個鍵,執行:
如果d[key]是奇數,則
cnt := cnt + 1
如果cnt > k,則
返回False
返回True
讓我們看看下面的實現,以便更好地理解。
示例
from collections import Counter class Solution: def solve(self, s, k): d = Counter(s) cnt = 0 for key in d: if d[key] & 1: cnt += 1 if cnt > k: return False return True ob = Solution() s = "amledavmel" k = 2 print(ob.solve(s, k))
輸入
"amledavmel",2
輸出
True
廣告