We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • Practice
  • Certification
  • Compete
  • Career Fair
  • Hiring developers?
  1. Practice
  2. Data Structures
  3. Arrays
  4. Sparse Arrays
  5. Discussions

Sparse Arrays

Problem
Submissions
Leaderboard
Discussions
Editorial

    You are viewing a single comment's thread. Return to all comments →

  • solomkinmv 4 years ago+ 0 comments

    Your solution is very inefficient.

    Here I suggest you functional approach, better efficiency and readability.

    Scanner sc = new Scanner(System.in);
    
    Map<String, Long> counterMap = Stream.generate(sc::next)
        .limit(sc.nextInt())
        .collect(groupingBy(identity(), counting()));
    
    Stream.generate(sc::next)
        .limit(sc.nextInt())
        .map(query -> counterMap.getOrDefault(query, 0L))
        .forEach(System.out::println);
    

    P.S. imports are omitted.

    3|
    ParentPermalink
  • Contest Calendar
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy
  • Request a Feature