zoukankan      html  css  js  c++  java
  • 【leetcode】1347. Minimum Number of Steps to Make Two Strings Anagram

    题目如下:

    Given two equal-size strings s and t. In one step you can choose any character of t and replace it with another character.

    Return the minimum number of steps to make t an anagram of s.

    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: 0
    

    Example 5:

    Input: s = "friend", t = "family"
    Output: 4

    Constraints:

    • 1 <= s.length <= 50000
    • s.length == t.length
    • s and t contain 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
            
  • 相关阅读:
    商务通服务器版LR_Data目录下相关配置文件
    Python入门神图
    你不知道的JavaScript-2.词法作用域
    你不知道的JavaScript-1.作用域是什么
    linux服务器对外打包处理
    C# Form 关闭按钮灰化
    Spread常用属性
    Spread 常用属性
    C#打开关闭窗体事件顺序
    sqlserver如何使用日期计算
  • 原文地址:https://www.cnblogs.com/seyjs/p/12287775.html
Copyright © 2011-2022 走看看