Sparse Arrays

Sort by

recency

|

414 Discussions

|

  • + 0 comments
    from collections import Counter
    
    def matchingStrings(strings, queries):
        # Write your code here
        query_counts = Counter(strings)
        
        return [query_counts[query] for query in queries]
    
  • + 0 comments
    from collections import Counter
    def matchingStrings(strings, queries):
        # Write your code here
        data = Counter(strings)
        final = []
        for s in queries:
            if s in data:
                final.append(data[s])
            else:
                final.append(0)
        return final
    
  • + 0 comments
    def matchingStrings(strings, queries):
        freq={}
        for i in strings:
            if i in freq:
                freq[i]+=1
            else:
                freq[i]=1
        
        result=[]
        for q in queries:
            result.append(freq.get(q,0))
        return result
    
  • + 0 comments

    JavaScript function matchingStrings(strings, queries) { const queriesMap = {}; queries.forEach((query) => { queriesMap[query] = 0; }); strings.forEach((string) => { if (queriesMap[string] !== undefined) { queriesMap[string] = queriesMap[string] + 1 } }); return queries.map((query) => queriesMap[query]) }

  • + 0 comments

    A O(strings+queries) solution in C++ using unordered_map where all operations used below are at O(1) according to to implementation document.

    vector<int> matchingStrings(vector<string> strings, vector<string> queries) {
        unordered_map<string, int> frequency;
        vector<int>results;
        
        //counts all occurances of str in strings and populates the frequency map
        for(string str: strings)
            frequency[str]++;
        //writes out the queries occurances in result
        for(string str: queries)
            results.push_back(frequency[str]);
        
         return results;
    }