URL: https://leetcode.com/problems/merge-two-2d-arrays-by-summing-values/ Signed-off-by: Matej Focko <me@mfocko.xyz>
39 lines
987 B
Kotlin
39 lines
987 B
Kotlin
class Solution {
|
|
fun mergeArrays(
|
|
nums1: Array<IntArray>,
|
|
nums2: Array<IntArray>,
|
|
): Array<IntArray> {
|
|
val (n, m) = nums1.size to nums2.size
|
|
var (i, j) = 0 to 0
|
|
|
|
val result: MutableList<IntArray> = mutableListOf()
|
|
while (i < n && j < m) {
|
|
when {
|
|
nums1[i][0] == nums2[j][0] -> {
|
|
result.add(intArrayOf(nums1[i][0], nums1[i][1] + nums2[j][1]))
|
|
i++
|
|
j++
|
|
}
|
|
nums1[i][0] < nums2[j][0] -> {
|
|
result.add(nums1[i])
|
|
i++
|
|
}
|
|
else -> {
|
|
result.add(nums2[j])
|
|
j++
|
|
}
|
|
}
|
|
}
|
|
|
|
while (i < n) {
|
|
result.add(nums1[i])
|
|
i++
|
|
}
|
|
while (j < m) {
|
|
result.add(nums2[j])
|
|
j++
|
|
}
|
|
|
|
return result.toTypedArray()
|
|
}
|
|
}
|