From 7d6e5a9e7646e9254fdbaf7f3a3cac47c567f44f Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Mon, 29 Jul 2024 11:46:29 +0100 Subject: - Added solutions by Eric Cheung. - Added solutions by Thomas Kohler. - Added solutions by PokGoPun. - Added solutions by Mark Anderson. - Added solutions by Feng Chang. - Added solutions by E. Choroba. --- .../luca-ferrari/pljava/src/main/java/Task1.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 challenge-277/luca-ferrari/pljava/src/main/java/Task1.java (limited to 'challenge-277/luca-ferrari/pljava/src/main/java/Task1.java') diff --git a/challenge-277/luca-ferrari/pljava/src/main/java/Task1.java b/challenge-277/luca-ferrari/pljava/src/main/java/Task1.java new file mode 100644 index 0000000000..157decedd7 --- /dev/null +++ b/challenge-277/luca-ferrari/pljava/src/main/java/Task1.java @@ -0,0 +1,27 @@ +public static int task1_pljava( String[] words1, String[] words2 ) throws SQLException { + logger.log( Level.INFO, "Entering pwc277.task1_pljava" ); + + final Map counting = new HashMap(); + + Stream.of( words1 ).forEach( current -> { + Integer[] count = { 0, 0 }; + counting.putIfAbsent( current, count ); + count = counting.get( current ); + count[ 0 ]++; + counting.put( current, count ); + } ); + + + Stream.of( words2 ).forEach( current -> { + Integer[] count = { 0, 0 }; + counting.putIfAbsent( current, count ); + count = counting.get( current ); + count[ 1 ]++; + counting.put( current, count ); + } ); + + return (int) counting.entrySet().stream().filter( current -> { + Integer[] count = current.getValue(); + return count[ 0 ] == count[ 1 ] && count[ 0 ] == 1; + } ).count(); +} -- cgit