【leetcode】1347. Minimum Number of Steps to Make Two Strings Anagram
题目如下:
Given two equal-size strings
sandt. In one step you can choose any character oftand replace it with another character.Return the minimum number of steps to make
tan anagram ofs.An Anagram of a string is a string that contains the same characters with a different (or the same) ordering.
Example 1:
Input: s = "bab", t = "aba" Output: 1 Explanation: Replace the first ‘a‘ in t with b, t = "bba" which is anagram of s.Example 2:
Input: s = "leetcode", t = "practice" Output: 5 Explanation: Replace ‘p‘, ‘r‘, ‘a‘, ‘i‘ and ‘c‘ from t with proper characters to make t anagram of s.Example 3:
Input: s = "anagram", t = "mangaar" Output: 0 Explanation: "anagram" and "mangaar" are anagrams.Example 4:
Input: s = "xxyyzz", t = "xxyyzz" Output: 0Example 5:
Input: s = "friend", t = "family" Output: 4Constraints:
1 <= s.length <= 50000s.length == t.lengthsandtcontain lower-case English letters only.
解题思路:只要求出s和t之间差异的字符的数量即可。
代码如下:
class Solution(object):
def minSteps(self, s, t):
"""
:type s: str
:type t: str
:rtype: int
"""
val = [0] * 26;
res = 0;
for i in s:
val[ord(i) - ord(‘a‘)] += 1
for i in t:
val[ord(i) - ord(‘a‘)] -= 1
for i in val:
if i > 0:
res += i
return res