Python程式檢查兩個字串是否可以透過交換字元變得相等
假設我們有兩個小寫字串 s 和 t,它們長度相同。我們可以從 s 中選擇一個字元,從 t 中選擇另一個字元,並將它們交換。我們可以進行任意次數的此操作。最後,我們必須檢查是否可以使這兩個字串相同。
因此,如果輸入類似於 s = "abcd" t = "cdab",則輸出為 True
為了解決這個問題,我們將遵循以下步驟:
- fre := 一個列表,包含 s 和 t 的連線字串中每個元素的頻率
- 對於fre中所有值的列表中的每個cnt:
- 如果 cnt mod 2 等於 1,則
- 返回 False
- 如果 cnt mod 2 等於 1,則
- 返回 True
示例
讓我們來看下面的實現,以便更好地理解:
from collections import Counter def solve(s, t): fre = Counter(s+t) for cnt in fre.values(): if cnt % 2: return False return True s = "abcd" t = "cdab" print(solve(s, t))
輸入
"abcd", "cdab"
輸出
True
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP