DEV Community

loading...

Data Structures & Algorithms using Rust: Merge Sorted Array

Sivakumar
Learning rust
Updated on ・1 min read

As part of Data Structures and Algorithms implementation using Rust, today we will explore Merge Sorted Array problem.

Leetcode problem link: https://leetcode.com/problems/merge-sorted-array/

Problem Statement
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Enter fullscreen mode Exit fullscreen mode
Instructions
Note:

The number of elements initialized in nums1 and nums2 are m and n respectively.
You may assume that nums1 has enough space (size that is equal to m + n) to hold additional elements from nums2.
Example:

Input:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3

Output: [1,2,2,3,5,6]


Constraints:

-10^9 <= nums1[i], nums2[i] <= 10^9
nums1.length == m + n
nums2.length == n
Enter fullscreen mode Exit fullscreen mode
Solution

Find below the implementation using Rust

impl Solution {
    pub fn merge(nums1: &mut Vec<i32>, m: i32, nums2: &mut Vec<i32>, n: i32) {
        let mut m_i: usize = m as usize;
        for i in 0..n {
            nums1[m_i] = nums2[i as usize];
            m_i += 1;
        }
        nums1.sort_unstable()
    }
}
Enter fullscreen mode Exit fullscreen mode

Please feel free to share your comments.

Happy reading!!!

Discussion (0)

Forem Open with the Forem app