あなたは長さの等しい2つの文字列を与えるs
とt
。各ステップは、あなたが選ぶことができるt
で任意の1文字に置き換えられ、別の文字。
リターンt
になるためのs
単語異所性最小工程での文字の数。
異所性ワード文字が同じ文字を指しますが、別の文字列に配置されています。
例1:
输出:s = "bab", t = "aba"
输出:1
提示:用 'b' 替换 t 中的第一个 'a',t = "bba" 是 s 的一个字母异位词。
例2:
输出:s = "leetcode", t = "practice"
输出:5
提示:用合适的字符替换 t 中的 'p', 'r', 'a', 'i' 和 'c',使 t 变成 s 的字母异位词。
例3:
输出:s = "anagram", t = "mangaar"
输出:0
提示:"anagram" 和 "mangaar" 本身就是一组字母异位词。
例4:
输出:s = "xxyyzz", t = "xxyyzz"
输出:0
例5:
输出:s = "friend", t = "family"
输出:4
ヒント:
1 <= s.length <= 50000
s.length == t.length
s
そして、t
小文字のみが含まれています
問題解決のためのアイデア
アイデアは非常に単純で、それぞれ、統計であるs
とt
、その後、貧弱な文字セットの数の両方の文字を。
class Solution:
def minSteps(self, s: str, t: str) -> int:
cnt1, cnt2 = map(collections.Counter, (s, t))
return sum((cnt1 - cnt2).values())
私は私に追加の質問の他の言語バージョンGitHubのLeetcode
ご質問がある場合は、私が指摘したいです!!!