aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-04-02 15:08:36 +0100
committerGitHub <noreply@github.com>2021-04-02 15:08:36 +0100
commit74d9ff3b455d296a2979929c2271c7ad749e4370 (patch)
tree201c0c2e421d9b23955b8476b87fa8390ee4c78f
parent02443fbd72ae7335aca0582ad7502045fc47c8af (diff)
parent1110be6192ab546f5dace2cd02c8f3defb346546 (diff)
downloadperlweeklychallenge-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.md33
-rw-r--r--challenge-106/ziameraj16/java/MaximumGap.java34
-rw-r--r--challenge-106/ziameraj16/kotlin/MaximumGapKotlin.kt31
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
+ }
+}