diff options
| author | ziameraj16 <ziameraj16@gmail.com> | 2021-04-02 14:46:04 +0100 |
|---|---|---|
| committer | ziameraj16 <ziameraj16@gmail.com> | 2021-04-02 14:46:04 +0100 |
| commit | 1110be6192ab546f5dace2cd02c8f3defb346546 (patch) | |
| tree | 02f0eda958a5162d03f0def7437333e4e8bde78e /challenge-106 | |
| parent | 894d84deced7ad956591f534c7d6fd7b73b16e1a (diff) | |
| download | perlweeklychallenge-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.md | 17 | ||||
| -rw-r--r-- | challenge-106/ziameraj16/kotlin/MaximumGapKotlin.kt | 31 |
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 + } +} |
