Re: [閒聊] 每日LeetCode
看板Marginalman作者JerryChungYC (JerryChung)時間5月前 (2024/01/15 12:55)推噓0(0推 0噓 0→)留言0則, 0人參與討論串603/719 (看更多)
※ 引述《Rushia (みけねこ的鼻屎)》之銘言:
: https://leetcode.com/problems/determine-if-two-strings-are-close/description
: 1657. Determine if Two Strings Are Close
: 給你兩個字串word1和word2,你可以對他們坐下面的兩個操作:
: 1.替換word中字元的位置
: 例如:abc -> cba
: 2.將字串中的某個字元和另一個字元全部交換
: 例如:aabbb -> bbbaa
: 求出word1和words2經過上面兩個操作後是否可以相等。
:
:
: 思路:
: 1.字串長度不同不可能相等先排除掉。
: 2.因為可以任意替換word字元的位置,所以我們先統計所有字元的數量,再來只要滿足兩
: 個條件:
: 一、word1有的字元word2也有
: 二、word1每個字母的字元數量排列後和word2的字元數量相等(交換)
: 3.計算兩者的字元數量並排序檢查數量是否匹配即可。
:
Python3 code:
-------------------------------------------
class Solution:
def closeStrings(self, word1: str, word2: str) -> bool:
if len(word1) != len(word2):
return False
if (sorted(Counter(word1).values()) == sorted(Counter(word2).values()))
and (Counter(word1).keys() == Counter(word2).keys()
):
return True
順序為思路1 3 2
Counter好好用喔 繼續偷懶
話說週賽只解出前2題 後2題1題沒解出 1題範圍太大
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.251.103 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1705294543.A.653.html
討論串 (同標題文章)