aboutsummaryrefslogtreecommitdiff
path: root/challenge-106
diff options
context:
space:
mode:
authorziameraj16 <ziameraj16@gmail.com>2021-04-02 14:46:04 +0100
committerziameraj16 <ziameraj16@gmail.com>2021-04-02 14:46:04 +0100
commit1110be6192ab546f5dace2cd02c8f3defb346546 (patch)
tree02f0eda958a5162d03f0def7437333e4e8bde78e /challenge-106
parent894d84deced7ad956591f534c7d6fd7b73b16e1a (diff)
downloadperlweeklychallenge-club-1110be6192ab546f5dace2cd02c8f3defb346546.tar.gz
perlweeklychallenge-club-1110be6192ab546f5dace2cd02c8f3defb346546.tar.bz2
perlweeklychallenge-club-1110be6192ab546f5dace2cd02c8f3defb346546.zip
Adding Kotlin solution for Maximum Gap
Diffstat (limited to 'challenge-106')
-rw-r--r--challenge-106/ziameraj16/README.md17
-rw-r--r--challenge-106/ziameraj16/kotlin/MaximumGapKotlin.kt31
2 files changed, 48 insertions, 0 deletions
diff --git a/challenge-106/ziameraj16/README.md b/challenge-106/ziameraj16/README.md
index 9edcaca8cb..4e1a6ecc5e 100644
--- a/challenge-106/ziameraj16/README.md
+++ b/challenge-106/ziameraj16/README.md
@@ -17,4 +17,21 @@ Enter comma separated values
2,9,3,5
4
```
+## Kotlin Solution
+To compile the code run
+```java
+kotlinc MaximumGap.kt
+```
+To run
+```java
+kotlin MaximumGap
+```
+### Example
+```bash
+/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
+```
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
+ }
+}