Two sum: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: added REXX version two.) |
(Added Kotlin) |
||
Line 580: | Line 580: | ||
{{Out}} |
{{Out}} |
||
<lang JavaScript>[[1,3]]</lang> |
<lang JavaScript>[[1,3]]</lang> |
||
=={{header|Kotlin}}== |
|||
<lang scala>// version 1.0.5-2 |
|||
fun twoSum(a: IntArray, targetSum: Int): Pair<Int, Int>? { |
|||
if (a.size < 2) return null |
|||
var sum: Int |
|||
for (i in 0 .. a.size - 2) { |
|||
if (a[i] <= targetSum) { |
|||
for (j in i + 1 .. a.size - 1) { |
|||
sum = a[i] + a[j] |
|||
if (sum == targetSum) return Pair(i, j) |
|||
if (sum > targetSum) break |
|||
} |
|||
} |
|||
else break |
|||
} |
|||
return null |
|||
} |
|||
fun main(args: Array<String>) { |
|||
val a = intArrayOf(0, 2, 11, 19, 90) |
|||
val targetSum = 21 |
|||
val p = twoSum(a, targetSum) |
|||
if (p == null) |
|||
println("No two numbers were found whose sum is $targetSum") |
|||
else |
|||
println("The numbers with indices ${p.first} and ${p.second} sum to $targetSum") |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
The numbers with indices 1 and 3 sum to 21 |
|||
</pre> |
|||
=={{header|Lua}}== |
=={{header|Lua}}== |