884 - Uncommon Words from Two Sentences

 JS

var uncommonFromSentences = function (s1, s2) {
    const cnt = new Map();
    for (const s of [...s1.split(' '), ...s2.split(' ')]) {
        cnt.set(s, (cnt.get(s) || 0) + 1);
    }
    const ans = [];
    for (const [s, v] of cnt.entries()) {
        if (v == 1) {
            ans.push(s);
        }
    }
    return ans;
};

C++

  • class Solution {
    public:
        vector<string> uncommonFromSentences(string s1, string s2) {
            unordered_map<string, int> cnt;
            auto add = [&](string& s) {
                stringstream ss(s);
                string w;
                while (ss >> w) ++cnt[move(w)];
            };
            add(s1);
            add(s2);
            vector<string> ans;
            for (auto& [s, v] : cnt)
                if (v == 1) ans.emplace_back(s);
            return ans;
        }
    };

JAVA

  • class Solution {
        public String[] uncommonFromSentences(String s1, String s2) {
            Map<String, Integer> cnt = new HashMap<>();
            for (String s : s1.split(" ")) {
                cnt.put(s, cnt.getOrDefault(s, 0) + 1);
            }
            for (String s : s2.split(" ")) {
                cnt.put(s, cnt.getOrDefault(s, 0) + 1);
            }
            List<String> ans = new ArrayList<>();
            for (var e : cnt.entrySet()) {
                if (e.getValue() == 1) {
                    ans.add(e.getKey());
                }
            }
            return ans.toArray(new String[0]);
        }
    }

Comments