88. Merge Sorted Array
Given two sorted integer arrays nums1
and nums2
, merge nums2
into nums1
as one sorted array.
The number of elements initialized in nums1
and nums2
are m
and n
respectively. You may assume that nums1
has a size equal to m + n
such that it has enough space to hold additional elements from nums2
.
Example 1:
Input: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3 Output: [1,2,2,3,5,6]
Example 2:
Input: nums1 = [1], m = 1, nums2 = [], n = 0 Output: [1]
Constraints:
nums1.length == m + n
nums2.length == n
0 <= m, n <= 200
1 <= m + n <= 200
-109 <= nums1[i], nums2[i] <= 109
Rust Solution
struct Solution;
impl Solution {
fn merge(nums1: &mut Vec<i32>, m: i32, nums2: &mut Vec<i32>, n: i32) {
nums1.truncate(m as usize);
nums2.truncate(n as usize);
nums1.append(nums2);
nums1.sort_unstable();
}
}
#[test]
fn test() {
let mut nums1 = vec![1, 2, 3, 0, 0, 0];
let mut nums2 = vec![2, 5, 6];
let m = 3;
let n = 3;
Solution::merge(&mut nums1, m, &mut nums2, n);
assert_eq!(nums1, vec![1, 2, 2, 3, 5, 6]);
}
Having problems with this solution? Click here to submit an issue on github.