LeetCode 1347. Minimum Number of Steps to Make Two Strings Anagram

题目

用hash,比较两个字符串数组的每个字符的hash值

class Solution {
public:
    int m[300];
    int m2[300];
    int minSteps(string s, string t) {
        
        for(int i=0;i<s.length();i++)
        {
            m[s[i]]++;
        }
        
        for(int i=0;i<t.length();i++)
        {
            m2[t[i]]++;
        }
        
        int ans=0;
        int steps=0;
        for(int i=0;i<300;i++)
        {
            
            if(m2[i]<m[i])
            {
                steps += m[i]-m2[i];
            }
            if(m2[i]>m[i])
            {
                steps -= m2[i] - m[i];
                ans+=m2[i]-m[i];
            }
        }
        
        return ans;
        
    }
};

猜你喜欢

转载自www.cnblogs.com/dacc123/p/12288361.html
今日推荐