objectMergeTwoSortedArray{ defmain(args: Array[String]): Unit = { val arr1 = Array(1, 2, 3, 0, 0, 0) val arr2 = Array(2, 5, 6) merge(arr1, 3, arr2, 3) println(java.util.Arrays.toString(arr1)) }
defmerge(nums1: Array[Int], m: Int, nums2: Array[Int], n: Int): Unit = { var i = m + n - 1 var l = m - 1 var r = n - 1 while (l >= 0 && r >= 0) { if (nums1(l) > nums2(r)) { nums1(i) = nums1(l) l -= 1 } else { nums1(i) = nums2(r) r -= 1 } i -= 1 }
while (l >= 0) { nums1(i) = nums1(l) l -= 1 i -= 1 }
while (r >= 0) { nums1(i) = nums2(r) r -= 1 i -= 1 } } }