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
            
  • 相关阅读:
    Go 解析JSON
    查看端口占用并结束进程
    DNS
    u盘禁用
    主机规划与磁盘分区
    响应式设计初识
    SVG基础
    BootStrap入门
    python中 "is"和"=="的区别
    关于C++模板不能分离编译的问题思考
  • 原文地址:https://www.cnblogs.com/seyjs/p/12287775.html
Copyright © 2011-2022 走看看