diff options
| author | rir <rirans@comcast.net> | 2024-08-01 12:41:48 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-01 12:41:48 -0400 |
| commit | 2b914a90cbd99c6be35b210efb893fac9ea95bfe (patch) | |
| tree | a36a9ac6a68aa3cdea27b91551bf8aa22062d72e /challenge-277/luca-ferrari/pljava/src/main | |
| parent | 11f4424d139c57025c4c8088237b7aa2d04a81a2 (diff) | |
| parent | 5a4e94cb7862b38e3ad394af305d9b483519a761 (diff) | |
| download | perlweeklychallenge-club-2b914a90cbd99c6be35b210efb893fac9ea95bfe.tar.gz perlweeklychallenge-club-2b914a90cbd99c6be35b210efb893fac9ea95bfe.tar.bz2 perlweeklychallenge-club-2b914a90cbd99c6be35b210efb893fac9ea95bfe.zip | |
Merge branch 'manwar:master' into work
Diffstat (limited to 'challenge-277/luca-ferrari/pljava/src/main')
| -rw-r--r-- | challenge-277/luca-ferrari/pljava/src/main/java/Task1.java | 27 | ||||
| -rw-r--r-- | challenge-277/luca-ferrari/pljava/src/main/java/Task2.java | 15 |
2 files changed, 42 insertions, 0 deletions
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<String, Integer[]> counting = new HashMap<String, Integer[]>(); + + 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(); +} diff --git a/challenge-277/luca-ferrari/pljava/src/main/java/Task2.java b/challenge-277/luca-ferrari/pljava/src/main/java/Task2.java new file mode 100644 index 0000000000..87c0dde2d0 --- /dev/null +++ b/challenge-277/luca-ferrari/pljava/src/main/java/Task2.java @@ -0,0 +1,15 @@ +public static final int task2_pljava( int[] numbers ) throws SQLException { + logger.log( Level.INFO, "Entering pwc277.task2_pljava" ); + + final int[] c = new int[]{ 0 }; + IntStream.range( 0, numbers.length - 1 ) + .forEach( i -> { + c[ 0 ] += IntStream.range( i + 1, numbers.length ) + .filter( j -> { + return numbers[ i ] != numbers[ j ] + && Math.abs( numbers[ i ] - numbers[ j ] ) < Math.min( numbers[ i ], numbers[ j ] ); + } ).count(); + } ); + + return c[ 0 ]; +} |
