美文网首页
242. Valid Anagram (E)

242. Valid Anagram (E)

作者: Ysgc | 来源:发表于2020-12-02 10:17 被阅读0次

    Given two strings s and t , write a function to determine if t is an anagram of s.

    Example 1:

    Input: s = "anagram", t = "nagaram"
    Output: true
    Example 2:

    Input: s = "rat", t = "car"
    Output: false
    Note:
    You may assume the string contains only lowercase alphabets.

    Follow up:
    What if the inputs contain unicode characters? How would you adapt your solution to such case?


    我的答案:hash table (multiset慢好几倍)

    class Solution {
    public:
        bool isAnagram(string s, string t) {
            int len_s = s.size();
            int len_t = t.size();
            if (len_s != len_t)
                return false;
            
            unordered_map<char, int> map_s;
            unordered_map<char, int> map_t;
            
            for (int i=0; i<len_s; ++i) {
                char c_s = s[i];
                char c_t = t[i];
                
                if (map_s.find(c_s) == map_s.end())
                    map_s[c_s] = 1;
                else
                    ++map_s[c_s];
                
                if (map_t.find(c_t) == map_t.end())
                    map_t[c_t] = 1;
                else
                    ++map_t[c_t];
            }
            
            for (const auto& p_s : map_s) {
                if ( p_s.second != map_t[p_s.first] ) {
                    return false;
                }
            }
            
            return true;
        }
    };
    

    Runtime: 28 ms, faster than 44.13% of C++ online submissions for Valid Anagram.
    Memory Usage: 7.7 MB, less than 22.42% of C++ online submissions for Valid Anagram.

    看答案:
    https://leetcode.com/problems/valid-anagram/solution/
    确实用hash table比较快,但是这边不用2个hash table,只用一个,然后加减就可以了,想到229这道题
    https://leetcode.com/problems/majority-element-ii/discuss/63520/Boyer-Moore-Majority-Vote-algorithm-and-my-elaboration
    Boyer-Moore Majority Vote algorithm

    相关文章

      网友评论

          本文标题:242. Valid Anagram (E)

          本文链接:https://www.haomeiwen.com/subject/gcbtwktx.html