From 90097b339f0c8931f4580426712004227ff3dd78 Mon Sep 17 00:00:00 2001 From: fahime Date: Thu, 9 Feb 2023 15:21:41 +0330 Subject: [PATCH] Add kotlin language for twoNumberSum --- Easy/Kotlin/twoNumberSum.kt | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Easy/Kotlin/twoNumberSum.kt diff --git a/Easy/Kotlin/twoNumberSum.kt b/Easy/Kotlin/twoNumberSum.kt new file mode 100644 index 0000000..0f796ff --- /dev/null +++ b/Easy/Kotlin/twoNumberSum.kt @@ -0,0 +1,26 @@ +@file:JvmName("Main") +fun main() +{ + println("result is ${twoNumberSum(intArrayOf(1,-1,5,-2),3).contentToString()}") +} + +// O(N) time and space +fun twoNumberSum(array:IntArray,targetSum:Int):IntArray { + if(array.size<2) return intArrayOf() + val set = mutableSetOf() + for(element in array) + { + if(set.contains(targetSum - element)) + return intArrayOf(element,targetSum - element) + else + set.add(element) + } + + return intArrayOf() +} + +/* O(N^2) time, O(1) space +run two for loops and compare every pair to see if it matches. + +O(N logN) time and O(1) space +sort the array first and then use the two pointer approach to find the target sum. */