diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-04-02 15:08:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-02 15:08:36 +0100 |
| commit | 74d9ff3b455d296a2979929c2271c7ad749e4370 (patch) | |
| tree | 201c0c2e421d9b23955b8476b87fa8390ee4c78f | |
| parent | 02443fbd72ae7335aca0582ad7502045fc47c8af (diff) | |
| parent | 1110be6192ab546f5dace2cd02c8f3defb346546 (diff) | |
| download | perlweeklychallenge-club-74d9ff3b455d296a2979929c2271c7ad749e4370.tar.gz perlweeklychallenge-club-74d9ff3b455d296a2979929c2271c7ad749e4370.tar.bz2 perlweeklychallenge-club-74d9ff3b455d296a2979929c2271c7ad749e4370.zip | |
Merge pull request #3813 from ziameraj16/ziameraj16-challenge-106
Java and Kotlin Solution for Maximum Gap
| -rw-r--r-- | challenge-106/ziameraj16/README.md | 33 | ||||
| -rw-r--r-- | challenge-106/ziameraj16/java/MaximumGap.java | 34 | ||||
| -rw-r--r-- | challenge-106/ziameraj16/kotlin/MaximumGapKotlin.kt | 31 |
3 files changed, 79 insertions, 19 deletions
diff --git a/challenge-106/ziameraj16/README.md b/challenge-106/ziameraj16/README.md index be300e1d0e..4e1a6ecc5e 100644 --- a/challenge-106/ziameraj16/README.md +++ b/challenge-106/ziameraj16/README.md @@ -1,42 +1,37 @@ -# Nth Root +# Maximum Gap ## Java Solution To compile the code run ```java -javac NthRoot.java +javac MaximumGap.java ``` To run ```java -java NthRoot +java MaximumGap ``` ### Example ```bash -/perlweeklychallenge-club/challenge-105/ziameraj16/java$ javac NthRoot.java -/perlweeklychallenge-club/challenge-105/ziameraj16/java$ java NthRoot -Enter value of N -5 -Enter value of k -248832 -12.00 +/perlweeklychallenge-club/challenge-106/ziameraj16/java$ javac MaximumGap.java +/perlweeklychallenge-club/challenge-106/ziameraj16/java$ java MaximumGap +Enter comma separated values +2,9,3,5 +4 ``` - ## Kotlin Solution To compile the code run ```java -kotlinc NthRoot.kt +kotlinc MaximumGap.kt ``` To run ```java -kotlin NthRoot +kotlin MaximumGap ``` ### Example ```bash -/perlweeklychallenge-club/challenge-105/ziameraj16/kotlin$ kotlinc NthRoot.kt -/perlweeklychallenge-club/challenge-105/ziameraj16/kotlin$ kotlin NthRoot -Enter value of N +/perlweeklychallenge-club/challenge-106/ziameraj16/kotlin$ kotlinc MaximumGapKotlin.kt +/perlweeklychallenge-club/challenge-106/ziameraj16/kotlin$ kotlin MaximumGapKotlin +Enter comma separated values +1,3,8,2,0 5 -Enter value of k -34 -2.02 ``` diff --git a/challenge-106/ziameraj16/java/MaximumGap.java b/challenge-106/ziameraj16/java/MaximumGap.java new file mode 100644 index 0000000000..e27af82a23 --- /dev/null +++ b/challenge-106/ziameraj16/java/MaximumGap.java @@ -0,0 +1,34 @@ +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Scanner; +import java.util.stream.Collectors; + +public class MaximumGap { + + public static void main(String[] args) { + System.out.println("Enter comma separated values"); + Scanner scanner = new Scanner(System.in); + String input = scanner.nextLine(); + String[] arr = input.split(","); + List<Integer> list = Arrays.stream(arr).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList()); + System.out.println(findMaxGap(list)); + } + + private static int findMaxGap(List<Integer> list) { + if (list.size() == 1) { + return 0; + } + Collections.sort(list); + int maxDiff = Integer.MIN_VALUE; + int i = 0; + while (i < list.size() -1) { + final int diff = Math.abs(list.get(i + 1) - list.get(i)); + if (diff > maxDiff) { + maxDiff = diff; + } + i++; + } + return maxDiff; + } +} diff --git a/challenge-106/ziameraj16/kotlin/MaximumGapKotlin.kt b/challenge-106/ziameraj16/kotlin/MaximumGapKotlin.kt new file mode 100644 index 0000000000..b004829b8d --- /dev/null +++ b/challenge-106/ziameraj16/kotlin/MaximumGapKotlin.kt @@ -0,0 +1,31 @@ +import java.util.* +import java.util.stream.Collectors + +object MaximumGapKotlin { + @JvmStatic + fun main(args: Array<String>) { + println("Enter comma separated values") + val scanner = Scanner(System.`in`) + val input = scanner.nextLine() + val arr = input.split(",").toTypedArray() + val list = Arrays.stream(arr).mapToInt { s: String? -> Integer.valueOf(s) }.boxed().collect(Collectors.toList()) + println(findMaxGap(list)) + } + + private fun findMaxGap(list: List<Int>): Int { + if (list.size == 1) { + return 0 + } + Collections.sort(list) + var maxDiff = Int.MIN_VALUE + var i = 0 + while (i < list.size - 1) { + val diff = Math.abs(list[i + 1] - list[i]) + if (diff > maxDiff) { + maxDiff = diff + } + i++ + } + return maxDiff + } +} |
