kt: add «2570. Merge Two 2D Arrays by Summing Values»
URL: https://leetcode.com/problems/merge-two-2d-arrays-by-summing-values/ Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
parent
18278624e8
commit
667b9abb98
1 changed files with 39 additions and 0 deletions
39
kt/merge-two-2d-arrays-by-summing-values.kt
Normal file
39
kt/merge-two-2d-arrays-by-summing-values.kt
Normal file
|
@ -0,0 +1,39 @@
|
|||
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()
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue