This repository has been archived on 2024-05-04. You can view files and clone it, but cannot push or open issues or pull requests.
kotlin-course/src/nativeMain/kotlin/space.dezentrale.prgrnd/SumOfTwo.kt

26 lines
808 B
Kotlin

package space.dezentrale.prgrnd
class SumOfTwo {
fun simpleSolution(nums: IntArray, target: Int): IntArray {
nums.forEachIndexed { idxA, numA ->
nums.forEachIndexed { idxB, numB ->
if (idxA != idxB && numA + numB == target) {
return intArrayOf(idxA, idxB)
}
}
}
return intArrayOf(-1, -1)
}
fun optimalSolution(nums: IntArray, target: Int): IntArray {
val numsToIndices = mutableMapOf<Int, Int>()
for ((index, num) in nums.withIndex()) {
if (numsToIndices.containsValue(target - num)) {
return intArrayOf(numsToIndices[target - num]!!, index)
}
numsToIndices[target] = index
}
return intArrayOf(-1, -1)
}
}