Sort by

recency

|

2436 Discussions

|

  • + 0 comments
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.util.TreeMap;
    
    public class SparseArrays {
    
        public static void main(String[] args) {
            try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out))){
                TreeMap<String, Integer> map = new TreeMap<>();
                int n = Integer.parseInt(br.readLine());
                for(int i = 0; i < n; i++){
                    String line = br.readLine();
                    map.put(line, map.getOrDefault(line, 0) + 1);
                }
                int q = Integer.parseInt(br.readLine());
                for(int i = 0; i < q; i++){
                    String line = br.readLine();
                    bw.write(map.getOrDefault(line, 0) + "\n");
                }
                bw.flush();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
    }
    
  • + 0 comments

    this problem doesnt seem to be medium

  • + 0 comments

    using javascript

    let stringListOb = {}; let queryListOb = {};

       stringList.forEach(st=>{
           stringListOb[st] = (stringListOb[st] || 0)+1;       
    })  
    queries.forEach(q=>{
        if(stringListOb[q]){
            queryListOb[q] =stringListOb[q]
        }else{
            queryListOb[q] = 0
        }
    })
    return Object.values(queryListOb);
    
  • + 0 comments

    My C++ solution:

    vector<int> matchingStrings(vector<string> stringList, vector<string> queries) {
        map<string, int> mpp;
        vector<int> res;
        for(string s: stringList) mpp[s]++;
        for(string s: queries) res.push_back(mpp[s]);
        return res;
    }
    
  • + 0 comments

    My Java solution:

    public static List<Integer> matchingStrings(List<String> stringList, List<String> queries) {
            // Write your code here
            Map<String, Integer> stringCount = new HashMap<>();
            stringList.forEach(entry -> stringCount.compute(entry, (k, v) -> v == null ? 1 : v + 1));
            return queries.stream().map(query -> stringCount.getOrDefault(query, 0)).collect(Collectors.toList());
        }